Перейти к содержанию
Masalov

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

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

Добрый день.

Создал в 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>

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


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

в language файлы вынести текст

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


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

Спасибо за ответ. Но честно говоря не понял как это сделать. 

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


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

В файле 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

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Waha
      Скачать/Купить дополнение


      Мультиязычный заголовок - модуль Рекомендуемые
      Данная модификация добавляет возможность в модуле Рекомендуемые задавать произвольный заголовок для каждого языка.
      При смене языка покупателем - заголовок модуля выводиться из настроек, если заголовок не задан, то выводиться заголовок по-умолчанию из языкового файла.
      Вся прелесть в том, что можно публиковать множество таких модулей с разным заголовком и разными товарами.
      Enjoy !
       
      Также рекомендую:
      - СМС уведомления для админа, клиента
      - Акционные товары с таймером
      - Товары из категорий
      - Все товары магазина
      Добавил Waha Добавлено 23.02.2016 Категория SEO, карта сайта, оптимизация Системные требования Сайт разработчика https://oc-help.com Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
    • От MOst53
      Скачать/Купить дополнение


      Magic Translations
      Magic Translations
      Данный модуль позволяет легко управлять переводами на сайте. Особенностью модуля является его простота и скорость. Основная часть написана на Javascript - это позволяет находить и и редактировать тексты без перезагрузки страницы. Основная задача этого модуля - сделать управление переводами простым и удобным.
      Обычно модули которые работают с переводами используют базу данных. Этот модуль работает напрямую с файлами переводов - это позволяет делать изменения за считанные секунды. Работа модуля оптимизирована, чтобы не сильно нагружать сервер и максимально использовать возможности браузера.
      В ближайшем будущем будет добавлен следующий функционал:
      интеграция с Яндекс.Переводчиком для автоматических переводов
      экспорт/импорт переводов
      визульный редактор для редактирования HTML в переводе


      Демо: http://demo-oc.byrockstars.com/admin/index.php?route=module/magic_translations (admin / admin)
      Добавил MOst53 Добавлено 27.08.2013 Категория Модули  
    • От fedorenkostas
      Перевод через админку
      Скачать/Купить дополнение Модуль для перевода сайта и админки через админ. панель.
      В OpenCart переводы находятся в файлах на сервере, что усложняет возможность перевода для обычного пользователя.
      Данный модуль дает возможность добавить/изменить/удалить переводы через админ. панель.
      Будет очень полезен для тех кто хочет установить тему которая не поставляется с нужным Вам языком.
      Добавил fedorenkostas Добавлено 14.11.2016 Категория Языковые пакеты Системные требования php 5.2+ Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.2 ocStore 2.2 OpenCart.Pro, ocShop  
    • От lugaterm
      Всем привет. Сайт на ocstor. Необходимо, чтобы сайт открывался на родных языках в соответствующих странах автоматически. Например, если в Росси -русский, в Китае- китайский или Украина -украинский. В добавлении языка в cms проблем нет, а вот привязка к стране интересует. Спасибо! 
    • От fedorenkostas
      Модуль для перевода сайта и админки через админ. панель.
      В OpenCart переводы находятся в файлах на сервере, что усложняет возможность перевода для обычного пользователя.
      Данный модуль дает возможность добавить/изменить/удалить переводы через админ. панель.
      Будет очень полезен для тех кто хочет установить тему которая не поставляется с нужным Вам языком.
  • Последние посетители   0 пользователей онлайн

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

×