Я хотел бы настроить сайт Magento так, чтобы он мог распознавать язык по умолчанию и местоположение пользователя и отображать сайт на этом языке и с соответствующей локализацией.
Например:
Пользователь из России с русским языком по умолчанию сразу перейдет на сайт на русском языке с рублями в качестве валюты и цен по умолчанию.
Это возможно? Если так, то как?
источник
Существует расширение Magento GeoIP (написанное мной), которое загружает последний файл данных MaxMind и периодически обновляет его.
Я предлагаю подключиться к
controller_front_init_before
событию. Вы можете использовать следующий код, чтобы проверить получение кода ISO 3166-1 страны посетителя, а затем перенаправить его в основной магазин, если он у вас есть:Подробную статью об использовании этого расширения можно найти здесь .
источник
Посмотрите на http://www.thefutureoftheweb.com/blog/use-accept-language-header, если вы можете программировать. Вы можете сделать переключение в
index.php
загрузке магазина, соответствующее языку.источник
Еще одна вещь, на которую стоит обратить внимание - это GEO IP.
Пара строк кода даст вам код страны пользователя, который вы можете переключать в зависимости от этого.
Но обратите внимание, что у вас будут проблемы с использованием любого кода на основе перенаправления, если вы используете то же хранилище с Enterprise Edition и Full Page Cache, что и кэширование первой страницы .
источник
Vary: Accept-Language
в заголовке для браузера и FPC.Другой вариант - использовать PHP- конфигурацию auto_prepend . Это приведет к тому, что все скрипты, обрабатываемые PHP, будут запускать скрипт раньше запрошенного сценария, но после .htaccess (если вы его используете).
Этот подход в сочетании с некоторыми другими предложениями (например, с использованием MaxMind для данных о географическом местоположении и сохранением видов для определенных регионов) может привести к довольно чистому подходу.
Если вы используете версию Magento> = 1.4, код хранилища по умолчанию можно настроить, установив значение $ _SERVER ['MAGE_RUN_CODE'].
В файле .htaccess или в конфигурации apache добавьте следующее:
php_value auto_prepend_file /var/www/mystore/path/to/script.php
В вашем
script.php
распоряжении любая необходимая бизнес-логика и установите соответствующий код магазина:Стоит отметить, что это будет применяться ко всем запрашиваемым PHP-файлам, поэтому вам следует помнить об этом.
источник