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

[Решено] Смена языка ссылки в header.tpl

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

Здравствуйте! В файле header.tpl я разместил ссылки на нужные мне статьи в горизонтальном меню в таком виде:

 

<li><a href="http://site.ru/about_us.html">О нас</a></li>

 

Понятное дело, что при переключении на другой язык, текст ссылки "О нас" останется без изменений.

Вопрос следующий: как прописать ссылку на статью таким образом, чтобы при переключении языка менялся и язык текста ссылки?

Изменено пользователем VladislavGridasov

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


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

нужно поставить условие на проверку активного языка

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


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

нужно поставить условие на проверку активного языка

 

Буду благодарен, если Вы подскажете, что именно надо прописать. Я в php не силен.

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


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


<?php if ($language_id == 1) { ?>

<li><a href="http://site.ru/about_us.html">О нас</a></li>

<?php } ?>

<?php if ($language_id == 2) { ?>

<li><a href="http://site.ru/about_us.html">About Us</a></li>

<?php } ?>

Изменено пользователем jvz
  • +1 1

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


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

:)

 

а внести тестовые переменные в языковые файлы?

  • +1 2

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


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

:)

а внести тестовые переменные в языковые файлы?

а если саму ссылку нужно менять?

в языковые файлы ее?

Изменено пользователем jvz

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


Ссылка на сообщение
Поделиться на другие сайты
<?php if ($language_id == 1) { ?>
<li><a href="http://site.ru/about_us.html">О нас</a></li>
<?php } ?>

<?php if ($language_id == 2) { ?>
<li><a href="http://site.ru/about_us.html">About Us</a></li>
<?php } ?>

 

Спасибо, попробую.

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


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

нужно поставить условие на проверку активного языка

 

Очень странный совет!

 

 

а если саму ссылку нужно менять?

в языковые файлы ее?

 

Тут есть сразу несколько вариантов. Можно либо в языковой файл вынести только текст анкора, а не весь тег, либо использовать php форматирование, как это происходит в ОК в куче мест.

 

Например, корзина.

языковой файл:

$_['text_items']     = '%s item(s) - %s';

контроллер:

$data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total, $this->session->data['currency']));
  • +1 1

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


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

был не прав

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


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

 

 

Очень странный совет!

 

 

 

Тут есть сразу несколько вариантов. Можно либо в языковой файл вынести только текст анкора, а не весь тег, либо использовать php форматирование, как это происходит в ОК в куче мест.

 

Например, корзина.

языковой файл:

$_['text_items']     = '%s item(s) - %s';

контроллер:

$data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total, $this->session->data['currency']));

 

Не могли бы Вы более подробно написать, что именно и куда надо прописывать?

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


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

Не могли бы Вы более подробно написать, что именно и куда надо прописывать?

 

Ну, например так:

файл: /catalog/language/__язык__/common/header.php (в каждой из языковых директорий)

добавить:

$_['text_link_about_us'] = 'О нас'; //В каждой языковой директории на соответствующем языке

файл: /catalog/controller/common/header.php

после

$data['telephone'] = $this->config->get('config_telephone');

добавить:

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

и затем уже в header.tpl:

<a href="http://site.ru/about_us.html"><?= $text_link_about_us; ?></a>

И дальше ОК сам уже будет в соответствии с текущим языком, выбранным посетителем, выбирать из нужного языкового файла значение языковой переменной для вывода.

 

А ссылку (сам url) тоже желательно бы формировать в контроллере, а не хардкодить в шаблоне.

Изменено пользователем Dotrox
  • +1 1

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


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

Добрый день. А подскажите пожалуйста как сделать нечто подобное в home.tpl?

Надо для него создать в language файл и подключить его в controller/common/home.php

 

Отвечу сам.

Да. Надо создать файл home.php в language и подключить его в controller/common/home.php

 

Изменено пользователем yanos

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


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

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

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

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

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

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

Войти

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

Войти

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

    • От SergeTkach
      500.00 руб
      Скачать/Купить дополнение


      SEO URL Generator PRO для OpenCart 2x
      Модуль SEO URL Generator PRO для автоматического заполнения SEO URL в OpenCart 2.x. Есть массовая генерация ЧПУ для уже существующих товаров.
       
      Внимание!
      Обязательно обновиться до версии 1.0.8 (!) всем, кто когда либо покупал модуль. Обновляться до текущей версии стоит по желанию.
       
      * Внимание!
      Просьба при покупке модуля указывать домен, для которого покупается модуль. Также при необходимости, укажите отладочный локальный домен (*.loc) или поддомен на основном сайте. Так Вы получите лицензию автоматически сразу после покупки. Особенно это важно при покупке в выходные дни.
       
      Письма могут попадать в спам, поэтому проверяйте эту папку Вашей почты.
       
      ** Внимание!
      Чтобы ЧПУ заработали, нужно:
      Чтобы был файл .htaccess в корневой папке сайта Включить ЧПУ в настройках системы Очистить кеш SeoPro (если Вы используете SeoPro). Также есть доп модификатор SEO PRO Cache Auto Destroy, который удаляет кеш модуля SeoPro при каждом редактировании товара, чтобы не удалять его вручную  
       
       
      Особенности:
      Является улучшенной версией SEO URL Generator FREE. В отличие от бесплатной версии, позволяет массово заполнить все пустые SEO URL всех товаров сайта путем нажатия всего 1 кнопки. Это очень удобно тем, кто импортирует товары из 1С, XML и тд Также генерирует SEO URL на основе названия при работе с отдельным товаром, категорией, информацией, производителем Есть возможность перезаписать все старые ЧПУ (если раннее они были созданы неправильно). При этом обращение по старым урлам будут редиректить на новые:
          с  : http://oc-store-23023.loc/telefony-i-pda/old-seo-url
          на : http://oc-store-23023.loc/telefony-i-pda/new-seo-url Для товаров можно задать формулу генерации ЧПУ (доступные переменные: [product_name], [product_id], [model], [sku], [manufacturer_name] С версии 1.1.0 можно делать массовую генерацию ЧПУ для кастомных модулей (новостей, блогов) благодаря методу getCustomTabs() в модели модуля. Примеры "допила" кастомных сущностей прилагаются:
        - для NewsBlog
        - для Aridius News (идет в шаблонах Aridius Fractal, Aridius Royal, Aridius ...)  
      В модуле предусмотрены следующие правила транслита:
      Русский в латиницу (по правилам Яндекса - благодаря fildenis) Українська латиницею Беларуская у лацінку қазақша ішінде латын  
       
      Совместимость:
      OpenCart: 2.1.x; 2.2; 2.3.x
      ocStore:  2.1.x; 2.3.x
      OpenCart PRO:  2.1; 2.3 (работает только массовая генерация)
       
      Технические требования (!!)
      Модуль содержит зашифрованные файлы и для работы на сервере (хостинге) должен быть установлен ionCube Loader версии 10 или выше
       
       
      Также рекомендую
      Для автогенерации мета тегов используйте модуль SEO Tags Generator.
      Для ускорения карты сайта - Branched Sitemap.
       
      Добавил SergeTkach Добавлено 07.03.2018 Категория SEO, карта сайта, оптимизация Системные требования Ioncube Loader v10.0 илм выше Сайт разработчика http://sergetkach.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  
    • От spectre
      300.00 руб
      Скачать/Купить дополнение


      SP SEO Custom Links 2x - Произвольные ссылки в товаре, категории, производителе
      ЧЕРНАЯ ПЯТНИЦА! ВСЕ ДОПОЛНЕНИЯ ПО 300!
       
      Модуль позволяет добавить неограниченное количество произвольных ссылок на страницы категории, производителя и товара для более классного продвижения вашего сайта!
       
      Примеры использования: 
       
      - посадочные страницы в категории, производителе, ссылки на результаты фильтра, ссылки на похожие категории или товары
      - ссылка в товаре на сайт производителя, инструкции и прочее
      - и многое другое, все что связано с кастомными ссылками, перелинковкой и прочим, зависит от вашей фантазии
       
      Версия для 2.х
      Тестировалось на Ocstore 2.1 и 2.3, если не завелось на любой версии линейки 2х - адаптация бесплатная и моментальная (после покупки)
       
      Кому нужно - могу дать потрогать демо
       
       
      ОЧЕНЬ ВАЖНО!!!
       
      Нет мультиязычности - не придумал зачем это может понадобиться, будут инвестиции и нужность хотелки - допилим
      В установке помогаю только с выводом блока в нужное место (обычный бутстрап, + добавлены свои классы для верстки)
      Какие-то хотелки вроде "каждая третья ссылка должна быть зеленой" оплачиваются
       
      Уточняйте все моменты ДО покупки!
       
      Лицензия - 1 домен
       
      Какие-то вопросы - пишите в личку, разберемся 
      Добавил spectre Добавлено 14.11.2018 Категория Модули Системные требования Сайт разработчика https://freelancer.od.ua Старая цена 777 Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
    • От spectre
      ЧЕРНАЯ ПЯТНИЦА! ВСЕ ДОПОЛНЕНИЯ ПО 300!
       
      Модуль позволяет добавить неограниченное количество произвольных ссылок на страницы категории, производителя и товара для более классного продвижения вашего сайта!
       
      Примеры использования: 
       
      - посадочные страницы в категории, производителе, ссылки на результаты фильтра, ссылки на похожие категории или товары
      - ссылка в товаре на сайт производителя, инструкции и прочее
      - и многое другое, все что связано с кастомными ссылками, перелинковкой и прочим, зависит от вашей фантазии
       
      Версия для 2.х
      Тестировалось на Ocstore 2.1 и 2.3, если не завелось на любой версии линейки 2х - адаптация бесплатная и моментальная (после покупки)
       
      Кому нужно - могу дать потрогать демо
       
       
      ОЧЕНЬ ВАЖНО!!!
       
      Нет мультиязычности - не придумал зачем это может понадобиться, будут инвестиции и нужность хотелки - допилим
      В установке помогаю только с выводом блока в нужное место (обычный бутстрап, + добавлены свои классы для верстки)
      Какие-то хотелки вроде "каждая третья ссылка должна быть зеленой" оплачиваются
       
      Уточняйте все моменты ДО покупки!
       
      Лицензия - 1 домен
       
      Какие-то вопросы - пишите в личку, разберемся 
    • От SergeTkach
      Скачать/Купить дополнение


      Полный путь в ссылке производителя (фикс для SEO PRO)
      Данный фикс делает полные ссылки для производителей.
       
      По умолчанию SEO PRO генерирует ссылки отдельно взятого производителя так, что в URL отсутствует родительская страница (brands). Это вряд ли повлияет на SEO Вашего сайта, но раньше Google рекомендаовал делать именно так (была PDF-инструкция "Руководство по поисковой оптимизации для начинающих"). В данный момент такой рекомендации не обнаружено - https://support.google.com/webmasters/answer/7451184?hl=ru#hierarchy
       
      В общем, раз уж модификатор существует по просьбе отдельно взятого клиента, то решил его выложить
       
      Внимание!
      Данный фикс работает только для ветки 2.x и только при использовании модуля SEO PRO!
       
      ---
      Раз уж мы задели тему ЧПУ, то посмотрите еще одно мое бесплатное расширение - SEO URL Generator FREE, для автоматического заполнения ЧПУ в момент работы с товаром в админке. Для массовой генерации ссылок одним нажатием кнопки - воспользуйтесь PRO-версией.
       
      Добавил SergeTkach Добавлено 26.10.2018 Категория SEO, карта сайта, оптимизация Системные требования Сайт разработчика http://sergetkach.com/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3  
    • От SergeTkach
      Данный фикс делает полные ссылки для производителей.
       
      По умолчанию SEO PRO генерирует ссылки отдельно взятого производителя так, что в URL отсутствует родительская страница (brands). Это вряд ли повлияет на SEO Вашего сайта, но раньше Google рекомендаовал делать именно так (была PDF-инструкция "Руководство по поисковой оптимизации для начинающих"). В данный момент такой рекомендации не обнаружено - https://support.google.com/webmasters/answer/7451184?hl=ru#hierarchy
       
      В общем, раз уж модификатор существует по просьбе отдельно взятого клиента, то решил его выложить
       
      Внимание!
      Данный фикс работает только для ветки 2.x и только при использовании модуля SEO PRO!
       
      ---
      Раз уж мы задели тему ЧПУ, то посмотрите еще одно мое бесплатное расширение - SEO URL Generator FREE, для автоматического заполнения ЧПУ в момент работы с товаром в админке. Для массовой генерации ссылок одним нажатием кнопки - воспользуйтесь PRO-версией.
       
  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.