Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

ОС 2.3.х Переключатель языков двуязыного сайта. Прошу помощи


Recommended Posts

Opencart 2.3.0.2

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

Изменил в админке файл language.tpl (вот его содержание):

 

<?php if(count($languages) > 1) : ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="language">
    <div class="btn-group">
        <?php foreach($languages as $language) : ?>
        <?php if($language['code'] != $code) : ?>
            <a href="<?php echo $language['code']; ?>">
                <img width="16" height="16" src="catalog/language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></a>
        <?php endif; ?>
        <?php endforeach; ?>
    </div>
    <input type="hidden" name="code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
</form>
<?php endif; ?>

 

Захожу на главную - все тип-топ: виден лишь активный флаг "другого" языка. Жму на флаг - получаю 404: Запрашиваемая страница не найдена.

В адресной строке "висит": https://мой сайт/en-gb

Лог ошибок в админке: Undefined variable:........\language.tpl on line 4

Выходит, что моя ошибка в строке: <?php foreach($languages as $language) : ?>

Не пойму, и своего ума не хватает.

Чешу репу, гуглю что-нить похожее - не могу найти!!! SOS!!!

 

 

 

Edited by ewentual
Link to comment
Share on other sites


Просто для информации
Типичная ошибка юзабилити
Согласно правилам юзабилити - нельзя "маркировать" язык флагами. Флагами "маркируются" регионы.
Языки не принадлежат странам

И флаги могут дать большой процент отказов
К примеру если англичанин (или американец) зайдет в магазин и увидит в выборе языка English американский (английский) флаг - он просто сразу уйдет
Это подсознательная ментальность юзабилити
Языки "маркируются" текстовой информацией или "кодом" языка
Посмотрите как сделано это в google
https://www.google.com/preferences?hl=ru-RU&fg=1#languages

Link to comment
Share on other sites

2 минуты назад, markimax сказал:

Просто для информации
Согласно юзабилити - нельзя "маркировать" язык флагами. Флагами "маркируются" регионы.
Языки не принадлежат странам

И флаги могут дать процент отказов
К примеру если англичанин зайдет в магазин и увидит в выборе языка English американский флаг - он просто сразу уйдет
Языки "маркируются" текстовой информацией или "кодом" языка
Посмотрите как сделано это в google
https://www.google.com/preferences?hl=ru-RU&fg=1#languages

 

Спасибо, это я знаю. И меняется это в ссылке элементарно. Но ведь суть вопроса не в этом...

Link to comment
Share on other sites


1 минуту назад, ewentual сказал:

 

Спасибо, это я знаю. И меняется это в ссылке элементарно. Но ведь суть вопроса не в этом...

Так дайте ПОЛНЫЙ текст ошибки! Ну ..."честное слово"
Нам что телепатировать на что ругается ?

Link to comment
Share on other sites

11 минут назад, markimax сказал:

Так дайте ПОЛНЫЙ текст ошибки! Ну ..."честное слово"
Нам что телепатировать на что ругается ?

 

Делаю сайт на локалке (Open Server).

Лог ошибки полный: PHP Notice:  Undefined variable: language in D:\OpenServer\domains\мой сайт\catalog\view\theme\default\template\common\language.tpl on line 4

 

Посмотрел Firebug'ом, вот что пишет:

<input type="hidden" name="redirect" value="https://мой сайт/index.php?route=error/not_found&amp;_route_=en-gb&amp;_=1487779388009" />

Подскажите, где еще посмотреть, на что ругается.

Link to comment
Share on other sites


  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.