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

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

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

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!!!

 

 

 

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

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


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

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, markimax сказал:

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

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

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, ewentual сказал:

 

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
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" />

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

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


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

Попробовал на версии 2.1.0.2- великолепно работает!

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


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

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

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

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

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

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

Войти

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

Войти

  • Последние посетители   0 пользователей онлайн

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

×

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

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