Question

Je voudrais configurer le site Magento pour être en mesure de reconnaître la langue par défaut et l'emplacement de l'utilisateur et afficher le site dans cette langue et la localisation appropriée.

Par exemple:

Un utilisateur de la Russie avec la langue russe par défaut sera directement sur le site Langue russe avec Roubles comme la devise par défaut et les prix.

Est-ce possible? Si oui, comment?

Était-ce utile?

La solution

GeoIP et Store Vues vous aider à résoudre ce problème.

GeoIP Vous pouvez utiliser un fournisseur comme MaxMind pour votre base de données GeoIP (ou le charger en tant que module de serveur web qui ajoute le pays dans le en-tête).

Sur la base de l'adresse IP, vous pouvez rediriger le client vers le bon magasin Voir (vérifier le lien généré par le sélecteur de vue magasin.

stockons

russe devrait être une vue magasin. Vérifiez le sélecteur de vue magasin pour voir ce qui est le lien que vous devez utiliser pour vos clients.

Après la redirection, vous pouvez définir un cookie pour associer le client à la vue magasin.

Autres conseils

Il y a une extension Magento GeoIP (écrit par moi) qui télécharge le dernier fichier de données MaxMind et met à jour périodiquement.

je suggère l'accrochage en cas de controller_front_init_before. Vous pouvez utiliser le code suivant pour vérifier obtenir le code ISO 3166-1 pays du visiteur et le rediriger vers vue magasin corespondent si vous en avez un:

$geoIP = Mage::getSingleton('geoip/country');
$code = $geoIP->getCountry();

/*
 * Check if store view for this country/language exists and it is not a current store view. 
 * If so do a redirect.
 * You can also take a language from user agent into consideration.
 */

L'article détaillé sur l'utilisation de cette extension est disponible .

Une autre chose à regarder est GEO IP.

Couple de lignes de code vous donnera le code de pays utilisateurs, que vous pouvez passer sur cette base.

Notez que vous ont des problèmes en utilisant un code à base de redirection si vous êtes en utilisant le même magasin avec Enterprise Edition et pleine page Cache que le premier coup de la page mise en mémoire cache .

jeter un oeil à http://www.thefutureoftheweb.com/blog/ utilisation-Accept-language-tête si vous pouvez programmer. Vous pouvez faire un interrupteur dans le chargement de la index.php appropriée Storeview pour la langue.

scroll top