• Объявления

    • dinox

      Закрытый раздел разработчиков   21.08.2017

      У нас на форуме существует закрытый раздел для разработчиков в котором мы обсуждаем нюансы работы на нашем форуме, в каталоге дополнений и другие моменты которые интересны в большинстве случаев только разработчикам. На данный момент существует лишь 2 условия для попадания:
      1. Наличие промодерированного дополнения в нашем каталоге  2. Отсуствие варезной деятельности 
      Если эти правила выполнены, пишите запрос @ArtemPitov на попадание в раздел разработчиков
Keyua

Автоматическое определения языка в мульти-магазине

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

Keyua    0

Делаю магазин (ocstore 2.3.0.2 Шаблон moneymaker)на двух языках - украинский и русский. Хочу реализовать автоматическое переключение языка. Почитал форум и решил, что оптимальный вариант призываться не к ip пользователя, а к языку браузера. Нашел статью, в которой предлагается такой код

if (!isset($this->session->data['language_change'])) {    
    $this->session->data['language_change'] = '0'; } if ($this->session->data['language_change']=='0') {
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $this->session->data['language_change']='1'; if ($lang=='ru' || $lang=='uk' || $lang=='be' || $lang=='ky' || $lang=='am' || $lang=='ab'){ 
        $_SESSION['language'] = 'ru';
        $this->session->data['language']='ru';
        $this->session->data['language_code']='ru'; } else { 
        $_SESSION['language'] = 'en'; 
        $this->session->data['language']='en';
        $this->session->data['language_code']='en'; }
    $this->response->redirect($_SERVER['REQUEST_URI']); }

По инструкции его нужно вставить в catalog/controller/common/header.php.

В исходном варианте код не срабатывает. Я попробовал переделать его под себя (php не владею) - убрал лишние переменные языков - оставил только русский и украинский. Код по прежнему не работает. После сброса кеша модификаторов и системы

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

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


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

Думаю лучше по ip, в документации сказано про определение на офф сайте, и там же есть ссылка на платную версию базы данных и на бесплатную. А если вообщем ошибки могут быть везде браузер может дать не верно и так же ip. Лучше реализовать как то так.

Зашел я с определенного ip сверил со своей базой если Россия то русскую версию сайта если то другую

Как то так...
 

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


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

А чем дефолтное определение языка по ['HTTP_ACCEPT_LANGUAGE'] не устраивает?
Работает корректно, если локали в настройках языка в админке не трогали.

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


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

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

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

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

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

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

Войти

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

Войти


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

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