Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


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']   	= 'Производители';
?>

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

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

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

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

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

Надіслати
Поділитися на інших сайтах


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

вместо

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

$this->data['manufacturer_list'] = $this->url->link('product/manufacturer');
Надіслати
Поділитися на інших сайтах

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

  • +1 1
Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.