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

[Решено] Мультиязычное меню


Masalov

Recommended Posts

Добрый день.

Создал в header.tpl шаблона дополнительный раздел меню. Возник вопрос как сделать так что бы при смене на английский язык меню отображалось на английском, как это прописать?
Заранее всем спасибо.

<li class="level0">
<a href="/">ИНФОРМАЦИЯ</a>
<span class="active_menu"></span>
<div class="categorybg subblog">
<div class="categoryinner">
<ul>
<li class="categorycolumn"><b><a class="submenu1" href="/about_us">О нас</a></b>
<div class="cate_inner_bg">
<ul>
<li style="padding-right:6px;"><a class="submenu2" href="/delivery-and-payment">Доставка и оплата</a></li>
<li style="padding-right:6px;"><a class="submenu2" href="/terms">Условия соглашения</a></li>
<li style="padding-right:6px;"><a class="submenu2" href="/privacy">Политика безопасности</a></li>
<li style="padding-right:6px;"><a class="submenu2" href="/contact-us">Контактная информация</a></li>
<li style="padding-right:6px;"><a class="submenu2" href="/size">Размерная сетка</a></li>
<li style="padding-right:6px;"><a class="submenu2" href="/index.php?route=information/blogger/blogs">Блог & Новости</a></li>
<li style="padding-right:6px;"><a class="submenu2" href="/sitemap">Карта сайта</a></li>
</ul>
</div>
</li>
</ul>

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


В файле catalog/view/theme/ТВОЯТЕМА/template/common/header.tpl заменить свои пункты по такому примеру:

<li class="categorycolumn"><b><a class="submenu1" href="/about_us"><?php echo $text_about_us; ?></a></b>
<div class="cate_inner_bg">
<ul>
<li style="padding-right:6px;"><a class="submenu2" href="/delivery_and_payment"><?php echo $text_delivery_and_payment; ?></a></li>
<li style="padding-right:6px;"><a class="submenu2" href="/terms"><?php echo $text_privacy; ?></a></li>

 
В файле /catalog/controller/common/header.php найти:

$data['text_all'] = $this->language->get('text_all');

Вставить после этого аналогичные строки обозначающие пункты меню, например:

$data['text_about_us'] = $this->language->get('text_about_us');
$data['text_delivery_and_payment'] = $this->language->get('text_delivery_and_payment');
$data['text_privacy'] = $this->language->get('text_privacy');

В файле catalog/language/russian/common/header.php вставить соответствующие строки с необходимым переводом, по аналогии с другими пунктами:

$_['text_about_us']           = 'О нас';
$_['text_delivery_and_paymen']           = 'Доставка и оплата';
$_['text_privacy']           = 'Условия соглашения';

В файле catalog/language/english/common/header.phpвставить соответствующие строки с необходимым переводом, по аналогии с другими пунктами:

$_['text_about_us']           = 'About us';
$_['text_delivery_and_paymen']           = 'Delivery and paymen';
$_['text_privacy']           = 'Privacy';

Как-то так...

Змінено користувачем SiteMix
Надіслати
Поділитися на інших сайтах


В файле catalog/view/theme/ТВОЯТЕМА/template/common/header.tpl заменить свои пункты по такому примеру:

<li class="categorycolumn"><b><a class="submenu1" href="/about_us"><?php echo $text_about_us; ?></a></b>
<div class="cate_inner_bg">
<ul>
<li style="padding-right:6px;"><a class="submenu2" href="/delivery_and_payment"><?php echo $text_delivery_and_payment; ?></a></li>
<li style="padding-right:6px;"><a class="submenu2" href="/terms"><?php echo $text_privacy; ?></a></li>

 

В файле /catalog/controller/common/header.php найти:

$data['text_all'] = $this->language->get('text_all');

Вставить после этого аналогичные строки обозначающие пункты меню, например:

$data['text_about_us'] = $this->language->get('text_about_us');
$data['text_delivery_and_payment'] = $this->language->get('text_delivery_and_payment');
$data['text_privacy'] = $this->language->get('text_privacy');

В файле catalog/language/russian/common/header.php вставить соответствующие строки с необходимым переводом, по аналогии с другими пунктами:

$_['text_about_us']           = 'О нас';
$_['text_delivery_and_paymen']           = 'Доставка и оплата';
$_['text_privacy']           = 'Условия соглашения';

В файле catalog/language/english/common/header.phpвставить соответствующие строки с необходимым переводом, по аналогии с другими пунктами:

$_['text_about_us']           = 'About us';
$_['text_delivery_and_paymen']           = 'Delivery and paymen';
$_['text_privacy']           = 'Privacy';

Как-то так...

Огромное спасибо. Применил данную информацию еще кое где. Еще раз спасибо.

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


Пожалуйста!

 

Я поначалу тоже так делал, но потом пришёл к выводу, что лучше делать подобные вещи при помощи OCMOD. В этом случае во-первых, не меняются оригинальные файлы, а во-вторых, при необходимости проще будет перейти на другой шаблон и даже на другую версию движка. В крайнем случае можно будет внести небольшие поправки.

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


Вот, кстати, набросал на досуге образец на основе предыдущего варианта:

<modification>
	<code>Addition_menu_items_Sample</code>
	<name>Addition menu items. Sample</name>
    <version>1.0</version>
    <author>NoName</author>
	<link></link>
    <file path="catalog/controller/common/header.php">
        <operation error="log">
            <search><![CDATA[$data['text_all'] = $this->language->get('text_all');]]></search>
            <add position="after"><![CDATA[// Addition menu items >>>
		$data['text_about_us'] = $this->language->get('text_about_us');
		$data['text_delivery_and_payment'] = $this->language->get('text_delivery_and_payment');
		$data['text_privacy'] = $this->language->get('text_privacy');
// <<< Addition menu items]]></add>
        </operation>
	</file>
    <file path="catalog/view/theme/*/template/common/header.tpl">
        <operation error="log">
            <search index="3"><![CDATA[</ul>]]></search>
            <add position="before"><![CDATA[<!-- Addition menu items >>> -->
        <li class="level0">
		  <a href="/">ИНФОРМАЦИЯ</a>
		  <span class="active_menu"></span>
		  <div class="categorybg subblog">
			<div class="categoryinner">
			<ul>
			  <li class="categorycolumn"><b><a class="submenu1" href="/about_us"><?php echo $text_about_us; ?></a></b>
			    <div class="cate_inner_bg">
				  <ul>
					<li style="padding-right:6px;"><a class="submenu2" href="/delivery-and-payment"><?php echo $text_delivery_and_payment; ?></a></li>
					<li style="padding-right:6px;"><a class="submenu2" href="/terms"><?php echo $text_privacy; ?></a></li>
					<li style="padding-right:6px;"><a class="submenu2" href="/privacy">Политика безопасности</a></li>
					<li style="padding-right:6px;"><a class="submenu2" href="/contact-us">Контактная информация</a></li>
					<li style="padding-right:6px;"><a class="submenu2" href="/size">Размерная сетка</a></li>
					<li style="padding-right:6px;"><a class="submenu2" href="/index.php?route=information/blogger/blogs">Блог & Новости</a></li>
					<li style="padding-right:6px;"><a class="submenu2" href="/sitemap">Карта сайта</a></li>
				  </ul>
				</div>
			  </li>
			</ul>
			</div>
		  </div>
		</li>
<!-- <<< Addition menu items -->]]></add>
        </operation>
	</file>	
	<file path="catalog/language/russian/common/header.php">
        <operation error="log">
            <search><![CDATA[// Text]]></search>
            <add position="after"><![CDATA[// Addition menu items >>>
$_['text_about_us']      = 'О нас';
$_['text_delivery_and_payment']	= 'Доставка и оплата';
$_['text_privacy']		 = 'Условия соглашения';
// <<< Addition menu items]]></add>
        </operation>
	</file>
	<file path="catalog/language/english/common/header.php">
        <operation error="log">
            <search><![CDATA[// Text]]></search>
            <add position="after"><![CDATA[// Addition menu items >>>
$_['text_about_us']      = 'About us';
$_['text_delivery_and_payment']	= 'Delivery and payment';
$_['text_privacy']       = 'Privacy';
// <<< Addition menu items]]></add>
        </operation>
	</file>
</modification>


Сохрани как Addition_menu_items_Sample.ocmod.xml, исправь остальные пункты по образцу и попробуй установить модификатор.

И код у тебя в первом посте не полный, поэтому я там дописал от себя. Исправь как должно быть.

 

Комментарии в коде необязательны, но я для себя обычно их вставляю.

Змінено користувачем SiteMix
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

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