Je voudrais configurer le site Magento pour pouvoir reconnaître la langue et l'emplacement par défaut de l'utilisateur et afficher le site dans cette langue et avec une localisation appropriée.
Par exemple:
Un utilisateur de Russie avec la langue russe par défaut se rendra directement sur le site Web en langue russe avec Roubles comme devise et prix par défaut.
Est-ce possible? Si c'est le cas, comment?
la source
Il y a une extension Magento GeoIP (écrite par moi) qui télécharge le dernier fichier de données MaxMind et le met à jour périodiquement.
Je suggère de se connecter à l'
controller_front_init_before
événement. Vous pouvez utiliser le code suivant pour vérifier obtenir le code ISO 3166-1 du pays du visiteur, puis le rediriger vers la vue du magasin correspondant si vous en avez un:L'article détaillé sur l'utilisation de cette extension peut être trouvé ici .
la source
jetez un œil à http://www.thefutureoftheweb.com/blog/use-accept-language-header si vous pouvez programmer. Vous pouvez effectuer un changement dans le
index.php
chargement de la vue de magasin appropriée à la langue.la source
Une autre chose à regarder est GEO IP.
Quelques lignes de code vous donneront le code du pays des utilisateurs, que vous pouvez changer en fonction de cela.
Mais notez que vous rencontrerez des problèmes lors de l' utilisation de tout code basé sur la redirection si vous utilisez le même magasin avec Enterprise Edition et Full Page Cache car le premier accès de page est mis en cache .
la source
Vary: Accept-Language
dans l'en-tête pour le navigateur et le FPC.Une autre option consiste à utiliser la configuration auto_prepend de PHP . Cela entraînera l'exécution de tous les scripts gérés par PHP avant l' exécution du script demandé, mais après .htaccess (si vous l'utilisez).
Cette approche combinée à certaines des autres suggestions (par exemple en utilisant MaxMind pour les données de géolocalisation et les vues de magasin pour des régions spécifiques) peut aboutir à une approche plutôt propre.
Si vous exécutez une version de Magento> = 1.4, le code de magasin par défaut peut être configuré en définissant la valeur $ _SERVER ['MAGE_RUN_CODE'].
Dans le fichier .htaccess ou la configuration d'Apache, ajoutez ce qui suit:
php_value auto_prepend_file /var/www/mystore/path/to/script.php
Dans votre,
script.php
exécutez toute logique métier nécessaire et définissez le code de magasin approprié:Une chose à noter est que cela s'appliquera à tous les fichiers PHP demandés, vous devrez donc garder cela à l'esprit.
la source