2015-03-13 4 views
2

У меня есть сайт (построенный с OpenCart) с несколькими языками, например. Английский, немецкий, французский. Пользователи могут менять язык, используя стандартные функции OpenCart, нажав на значки языков сверху.Прямая ссылка на язык OpenCart

Можно ли отправлять пользователь автоматически (поэтому они не должны нажать на флаге) от: Германии немецкой версии сайта Франции на французский язык сайта (английский язык по умолчанию)

Есть ли URL, который я могу использовать для этих языков, если, например, страница по умолчанию http://mystore.com? (я заметил, что, когда я нажимаю на значок языка URL-адрес не меняется - это то же самое для всех языков)

+0

Существует по крайней мере один [расширение] (http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18641) я обнаружил, что это делает , но мне будет интересен ответ от эксперта OpenCart. – Revent

ответ

0

В настоящее время opencart не поддерживает эту функцию, но в прошлом более старые версии Opencart имели эту функцию.

Если вы хотите включить эту функцию в вашем веб-сайте вы должны сделать следующее:

Редактировать этот файл: каталог/контроллер/модуль/language.php

найти это:

class ControllerModuleLanguage extends Controller { 
     protected function index() { 
      if (isset($this->request->post['language_code'])) { 

перед "если", вам придется включать в себя следующее:

if (isset($this->request->get['lang'])) { 

    $this->session->data['language'] = $this->request->get['lang']; 

    if (isset($_SERVER['HTTP_REFERER']) && (strpos($_SERVER['HTTP_REFERER'], $this->config->get('config_url')) !== false)) { 

     $this->redirect($_SERVER['HTTP_REFERER']); 

    } else { 

     $this->redirect($this->url->link('common/home')); 

    } 

} else { 

The source

Пример сайта с этим кодом:

http://incomingtospain.com/madrid&lang=de

http://incomingtospain.com/madrid&lang=ru

Этот сайт имеет 8 идиомы, и вы можете получить доступ к различным URL, с помощью этой переменной "языки" & языки = es & lang = en ... & lang = de & lang = ru

0

Я думаю, что язык установлен в переменной

сессия Для функциональности упомянутой вами будет achive в следующим образом:

  1. Используйте геолокации HTML5 для определения местоположения пользователя
  2. исследований в OpenCart, чтобы установить языком функции
  3. после того, как все сделано разместить код, используя VQMOD если вы хотите сделать это надлежащим образом или вы также можете редактировать свои основные файлы в формате opencart (не рекомендуется)
  4. если браузер не поддерживает привязку геолокации, или они отказываются предоставить свое местоположение, просто загрузите язык по умолчанию.
-1

С OpenCart 2.0 вы должны работать с индексом файла.PHP (в корень вашего вебсайта) и поместите этот код:

if (isset($request->get['lang']) && array_key_exists($request->get['lang'], $languages)) { 

    $session->data['language'] = $request->get['lang']; 

} 

между линией 155 и линией 157

линии 153 до 154:

foreach ($query->rows as $result) { 

$languages[$result['code']] = $result; 

} 

(вы здесь добавить новый код)

Line 157:

if (isset($session->data['language']) && array_key_exists($session->data['language'], $languages)) {

Линия 158:

$code = $session->data['language']; 
Смежные вопросы