Jump to content
Sign in to follow this  
Olegich

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

Recommended Posts

Подскажите а как поменять ссылки в шапке (Главная, Закладки, Коззина покупок, Оформление заказа) с поддержкой мультиязычности. Т.е. чтоб не просто вставить ссылку в виде <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']   	= 'Производители';
?>

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

А что, она у вас физически существует эта самая страница  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/

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

Share this post


Link to post
Share on other sites

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

вместо

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.