Вывести ссылку в шапку OpenCart с соблюдением мультиязычности

Я уже писал инструкцию «Как вывести статьи в шапку OpenCart«, но со временем функционал данного способа понадобилось расширять. А именно статей стало много, и их в шапку выводить не надо. А тот способ выводит все статьи без исключения.

В этой статье мы рассмотрим как вывести произвольную ссылку в шапку OpenCart. Даже более того, эта инструкция будет очень полезна для людей у которых сайт на нескольких языках. А именно чтобы в зависимости от языка менялись названия ссылок.

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

www/ваш сайт/catalog/view/theme/название вашей темы/template/common/header.tpl

Вписать код,

<li><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a> </li>
<li><a href="<?php echo $sitemap; ?>"><?php echo $text_sitemap; ?></a></li>
<li><a href="<?php echo $contact; ?>"><?php echo $text_contact; ?></a></li>

Все как по инструкции прошлой части

Но вот две другие выводятся общим кодом «кодом вывода всех статей», что нас не устраивает. Нам надо вывести всего две статьи «О нас» и «Line Card». В вашем же случае, это конечно могут быть другие произвольные какие-то статьи.

Итак, чтобы вывести ссылку которая будет меняться в зависимости от языка, в OpenCart нам надо сначала удалить код который выводит статьи.

Удаляем код:

div id="menu"
<ul>
<?php foreach ($informations as $information) { ?>
<li> </li>
<li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li>
<?php } ?>
</ul>

Далее мы должны придумать переменные которыми назовем статьи.

Для статьи «О нас» переменная будет

text_ONas

Обязательно пишите перед переменной text_ , также в переменной не должно быть пробелов, подчеркиваний и тире.

Для линии поставок переменная будет

text_LineCard

Теперь ищем код, который выводит первые три ссылки

<li><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a> </li>
<li><a href="<?php echo $sitemap; ?>"><?php echo $text_sitemap; ?></a></li>
<li><a href="<?php echo $contact; ?>"><?php echo $text_contact; ?></a></li>

и после него пишем

<li><a href="http://Домен сайта/about_us"><?php echo $text_ONas; ?></a></li> 
<li><a href="http://Домен сайта/Line-Card"><?php echo text_LineCard; ?></a></li>

Естественно замените ссылку вида http://Домен сайта/about_us на ссылку где находиться ваша статья. Также не забудьте заменить переменные, на ваши переменные.

Если вы сейчас захотите посмотреть результат то в шапке вас будет поджидать ошибка. Это нормально. Чтобы ее устранить мы будем редактировать уже знакомый нам файл который находиться по пути

www/ваш сайт/catalog/controller/common/header.php

После строчки которую мы уже тоже писали в прошлой части

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

Если вы не писали эту строчку то ищите любую из строчек ниже

$this->data['description'] = $this->document->getDescription();
$this->data['keywords'] = $this->document->getKeywords();
$this->data['links'] = $this->document->getLinks();

Вставьте строчки

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

Естествено название переменных поменяйте на свои.

Следующим, последним этапом мы назначим переменным имена. Для этого идем

www/ваш сайт/catalog/language/Язык/Язык.php

Язык поменяйте на ваш язык, к примеру russian, english и.т.д.

В этот файл после

// Text

Допишите

$_['text_ONas'] = 'О нас';
$_['text_LineCard'] = 'Карта поставок';

Естественно поменяйте на свои переменные, и на свое название ссылок. Последний пункт повторите столько раз сколько у вас языков.

На этом все. Если вы все сделали правильно, то при переключении языков у вас должны меняться ссылки. Также если у вас остались вопросы пишите в комментариях или мне на почту.

загрузка...
7 комментариев
    • Andrey
        • Andrey
          • Andrey

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *