Olegich

[Решено] как поменять ссылки в шапке с поддержкой мультиязычности

Рекомендуемые сообщения

Olegich    0

Подскажите а как поменять ссылки в шапке (Главная, Закладки, Коззина покупок, Оформление заказа) с поддержкой мультиязычности. Т.е. чтоб не просто вставить ссылку в виде <a href="http://ваш_сайт/contacts'>http://ваш_сайт/contacts">Контакты</a> а с помощью php.

Как я понимаю нужно менять файлы:

http://ваш_сайт/catalog/language/russian/common/header.php'>http://ваш_сайт/catalog/language/russian/common/header.php - языковой файл

http://ваш_сайт/catalog/controller/common/header.php '>http://ваш_сайт/catalog/controller/common/header.php 

http://ваш_сайт/catalog/view/theme/ваша_тема/template/common/header.tpl'>http://ваш_сайт/catalog/view/theme/ваша_тема/template/common/header.tpl - файл шаблона

 

Проделанные действия:

добавил необходимые ссылки в header.tpl в <div class="links"> 

Для примера добавил ссылку на список производителей manufacturer_list (строка 90)

<div class="links">
	  <a href="<?php echo $home; ?>"><?php echo $text_home; ?></a>
	  <a href="<?php echo $manufacturer_list; ?>"><?php echo $manufacturer_list; ?></a>
	  <a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a>
	  <a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a>
	  <a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a>
  </div> 

Добавил две строки (41 и 52) в файл http://ваш_сайт/catalog/controller/common/header.php 

$this->language->load('common/header');
		$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));
		$this->data['og_image'] = $this->document->getOgImage();
		
		$this->data['text_home'] = $this->language->get('text_home');
		$this->data['text_manufacturer_list'] = $this->language->get('text_manufacturer_list');
		$this->data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
		$this->data['text_shopping_cart'] = $this->language->get('text_shopping_cart');
    	$this->data['text_search'] = $this->language->get('text_search');
		$this->data['text_welcome'] = sprintf($this->language->get('text_welcome'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'));
		$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL'));
		$this->data['text_account'] = $this->language->get('text_account');
		$this->data['text_checkout'] = $this->language->get('text_checkout');
		$this->data['text_page'] = $this->language->get('text_page');
				
		$this->data['home'] = $this->url->link('common/home');
		$this->data['manufacturer_list'] = $this->url->link('product/manufacturer_list');
		$this->data['wishlist'] = $this->url->link('account/wishlist', '', 'SSL');
		$this->data['logged'] = $this->customer->isLogged();
		$this->data['account'] = $this->url->link('account/account', '', 'SSL');
		$this->data['shopping_cart'] = $this->url->link('checkout/cart');
		$this->data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL');
 

Добавил текст ссылки (строка 12) в файле http://ваш_сайт/catalog/language/russian/common/header.php

<?php
// Text
$_['text_home']           	= 'Главная';
$_['text_wishlist']       	= 'Закладки (%s)';
$_['text_shopping_cart']  	= 'Корзина покупок';
$_['text_search']        	= 'Поиск';
$_['text_welcome']      	= '<a href="%s">Войти</a> или <a href="%s">зарегистрироваться</a>';
$_['text_logged']       	= 'Вы вошли как <a href="%s">%s</a> <b>(</b> <a href="%s">Выйти</a> <b>)</b>';
$_['text_account']      	= 'Постоянный покупатель';
$_['text_checkout']      	= 'Оформление заказа';
$_['text_page']           	= 'страница';
$_['text_manufacturer_list']   	= 'Производители';
?>

В результате выводит страницу магазина "Запрашиваемая страница не найдена!"

Подскажите, что и где нужно изменить, чтоб все работало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    2 016

А что, она у вас физически существует эта самая страница  product/manufacturer_list  ?))))))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Olegich    0

А что, она у вас физически существует эта самая страница  product/manufacturer_list  ?))))))))

 

Информацию брал здесь

 

Папка product/ 

category.tpl - вывод группы товаров

manufacturer.tpl - вывод товаров по производителю (в 1.5.х не используется)

manufacturer_info.tpl - вывод товаров по производителю (только в 1.5.х)

manufacturer_list.tpl - страница со списком всех производителей (только в 1.5.х)

product.tpl - вывод одного товара

review.tpl - вывод отзыва о товаре в шаблоне product.tpl

search.tpl - поиск и результаты поиска

special.tpl - выбор специальных предложений (Special Offers)

compare.tpl - страница сравнения товаров (только в 1.5.х)

 

manufacturer_list взял только для примера.

В футере стандартного шаблона есть ссылка "Производители". У меня страница имеет следующий адрес: http://название_магазина/brands/

Это разве не одно и то же?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

@шаблон страницы@ (файл) и @страница@ (адрес, url) - разные вещи :ugeek:

вместо

$this->data['manufacturer_list'] = $this->url->link('product/manufacturer_list');
используйте

$this->data['manufacturer_list'] = $this->url->link('product/manufacturer');

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Olegich    0

Спасибо, заработало. У меня была включена опция ЧПУ. После того как отключил, смог проследить правильные ссылки на страницы магазина.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу