Контент на разных языках в стороннем шаблоне

romeo143

Гуру форума
Регистрация
15 Авг 2015
Сообщения
164
Реакции
69
Установил шаблон Micra.
Столкнулся с несколькими кастомными блоками в этом шаблоне, которые отображаются на разных языках одинаково.
Есть модуль от этого шаблона, в котором эти 2 блока можно изменить, но только для обоих языков. Можно ли разделить отображение на русском и английском языках?2015-12-28_12-22-15.png 2015-12-28_12-23-23.png
 
ну можно к примеру отредактировать файл русификации и добавить туда куски которые нужно переводить, либо как вариант использовать разные блоки и с помощью php if else отображать уже нужный блок
 
ну можно к примеру отредактировать файл русификации и добавить туда куски которые нужно переводить, либо как вариант использовать разные блоки и с помощью php if else отображать уже нужный блок
а как я эти куски добавлю в русификацию?
т.е. по дефолту это английский язык, правильно? А мне нужно в language/russian добавить в это место перевод.
а как это сделать?:)
Вот есть код из footer.tpl, который выводит то, что мне нужно перевести

Код:
<div class="col-md-3 col-sm-4">
             <?php if($config->get('magikmicra_footer_cb')==1){
            echo html_entity_decode($config->get('magikmicra_footer_cbcontent'));}?>

      </div>
 
Смысл посыла я понял, но причем тут Wordpress
 
Сделал по аналогии:
В файле /catalog/view/theme/default/template/common/header.tpl в меню было добавлено раздел Акции. Выглядит это так:
<li style="float: right; font-weight: bold;">
<a href="Для просмотра ссылки Войди или Зарегистрируйся">АКЦИИ</a></li>

Но при таком подходе при смене языка текст не будет меняться. Для этого есть следующее решение:

Вместо статического значения вводим переменную $text_akcii, в следствии чего предыдущий код будет выглядеть так:
<li style="float: right; font-weight: bold;">
<a href="Для просмотра ссылки Войди или Зарегистрируйся"><?php echo $text_akcii; ?></a></li>

Теперь нам необходимо подключить эту переменную в языковом файле движка. Для этого переходим в папку /catalog/language/russian/common/header.php и добавляем
$_['text_akcii'] = 'АКЦИИ';
Аналогичные действия проводим с файлами и для других языков, только заменяем текст на нужный перевод.
Теперь нам нужно подключить данную переменную в файле контроллера /catalog/controller/common/header.php

Находим строку:
$this->render();
И перед ней вставляем следующую строку:
$this->data['text_akcii'] = $this->language->get('text_akcii');
 
Я бы сделал по такой констукции в view вашего подвала:
Код:
<?php $lang =$this->session->data['language'];
if($lang =='ru'){
<div class="show_ru">
<!-- вызываем модуль -->
</div>
} elseif($lang =='en'){
<div class="show_en">
<!-- вызываем модуль -->
</div>
}?>

В админке сделайте два DIV'а - для каждого из языков.
В CSS стилях показывайте тот DIV, который нужен.
Пример:
Код:
.div_ru, .div_en { display: none;}
.show_ru .div_ru { display: block;}
.show_en .div_en { display: block;}

И никаких танцев с бубном вокруг language переменных.
 
Назад
Сверху