Я сделал это один раз для клиента.Вот что я сделал.
Предварительно необходимо: Библиотека GeoIp для PHP.
1- Создайте представления магазина относительно языков в вашем админке Magento.
2-Добавьте систему фильтрации, выполнив:
2a - отредактируйте файл макета page.xml вашей основной / родительской темы и, примерно в строке 35/36 (в дескрипторе добавьте:
<block type="page/html" name="country-filter" output="toHtml" template="page/html/country-filter.phtml" />
2b - Создайте шаблон / page / html / country-filter.phtml в вашей основной / родительской теме и вставьте этот код, который можно изменить в зависимости от ваших потребностей:
if(!isset($_COOKIE['frontend'])) {
setcookie("frontend",session_id(),time()+60*60*24,"/","");
$ip = $_SERVER['REMOTE_ADDR'];
$country = geoip_country_name_by_name($ip);
switch($country) {
case 'France':
$url = $this->getUrl() . '?___store=YOUR_STORE_VIEW_CODE_FOR_FRANCE';
header( 'Location:' . $url) ;
/* (Maybe add "exit;" here)*/
break;
// (etc... for other cases)
default:
break; /* No need to specify a country/store view for default as you must have done that in System > Manage Stores in your Magento backend.*/
}
}