Magento – Storeview / Changer la langue par URL (Changer laguage via une URL)

C'est un problème très discuté: Comment puis-je modifier l'URL en utilisant la vue magasin ou de la langue?

Vous pouvez configurer les différents magasins Vues backend, changer en fonction de la mise en déroulant à la fin frontal aura l'aspect et / ou de la langue. Mais il est difficile, quand (Google a également des raisons) souhaitez utiliser pour un magasin Voir un autre domaine, que pour l'autre point de vue.

Donc, le point de départ:

Il devrait www.english.com pour la vue magasin anglais (“Anglais” et être utilisé

www.deutsch.de pour la vue magasin allemand (“Allemand”).

Cela, bien sûr enregistrés par les deux domaines et cPanel (o.ä.) sur public_html (o.ä.) acheminer, Une fois que nous avons mis de l'avant.
Les deux vues sont bien mis en place et de stocker dans la configuration > Web ist bei Storeview “Allemand” que l'URL de base www.deutsch.de und bei Storeview “Anglais” est www.english.com déposé (et les URL d'autres).

Maintenant, il va à des points importants:

1. Index.php: Ansich voici la devise de

commutateur($_SERVER['HTTP_HOST']) { 

// Deutsch
cas 'www.deutsch.de':
case 'deutsch.de':
$_SERVER["MAGE_RUN_CODE"] = "Allemand";
$_SERVER["MAGE_RUN_TYPE"] = "site Web";
briser;

// Anglais
cas 'www.englisch.de':
case 'englisch.de':
$_SERVER["MAGE_RUN_CODE"] = "Anglais";
$_SERVER["MAGE_RUN_TYPE"] = "site Web";
briser;

// Autrement (magasin par défaut)
par défaut:
briser;
}

La procédure. Ces lignes entre

#ini_set('Display_errors', 1);

et

umask(0);

insérer

Ce paramètre travaille maintenant pour le cas, qu'avec www. et sans www. l'URL est appelée et c'est un site, consiste à modifier l'. Mais ne devrait être appelé en l'absence de site d'affichage de magasin, il ya un problème, que

 

// Anglais
cas 'www.english.com':
$_SERVER["MAGE_RUN_CODE"] = "Anglais";
$_SERVER["MAGE_RUN_TYPE"] = "storeview";
briser;

 

ne fonctionne pas, car il n'est pas possible avec Magento, Store Vues sur la commande “storeview” appeler. Totalement illogique, mais cette version est cassé:

 

// Anglais
cas 'www.english.com':
$_SERVER["MAGE_RUN_CODE"] = "Anglais";
briser;

 

Il est si facile de laisser la dernière ligne complètement disparu.

Après ce fut en changeant la fin de couverture peut être Vues magasins ont aussi changé, l'URL. D'autre part, bien sûr, la situation confortable, que lorsque vous appelez la www.english.com Le magasin de l'anglais est appelé directement.

Si elle ne fonctionne toujours pas, probablement besoin d'un petit quelque chose dans le htaccess. être changé:

RewriteCond %{HTTP_HOST} !^ www  .english  .com $
RewriteCond %{HTTP_HOST} !^ anglais  .com $
RewriteCond %{HTTP_HOST} !^ www  .deutsch  .de $
RewriteCond %{HTTP_HOST} !^ Allemand  .de $
RewriteRule ^(.*)$ http://www.deutsch.de/ 1 $ [L,R = 301]

En particulier, l'exigence, que www.deutsch.de et la vue magasin allemand, le principal- et le domaine de base est.

Weitere Informationen -auch zu neueren Magento Versionen gibt es in cette und in cette Contribution.

Utilisé dans les versions Magento 1.4.1.0, 1.4.1.1 et 1.5

Publié par Covos

Depuis 2009 Je travaille intensément avec Magento. J'ai commencé avec la création et l'exploitation des magasins B2C. Cela a été prolongé par mon travail dans le secteur de la logistique. Il en est résulté premiers systèmes de B2E spécialisés. Aujourd'hui, je travaille jour par jour avec B2C passionnant, B2B- et les projets B2E et rapports dans ce blog sur les défis et donner des conseils d'initiés.

2 pensées sur “Magento – Storeview / Changer la langue par URL (Changer laguage via une URL)”

  1. Bonjour,

    la raison en est une convention de nommage différent dans l'admin principal et le code.

    Admin | Code
    ———————
    Site Web | Site Web
    Stockez | Storegroup
    Voir le magasin | Stockez

    Magasin est doublement occupée et ne peut donc être interprété en fonction du contexte clairement.
    Donc, maintenant spécifier au magasin MAGE_RUN_CODE une vue à vouloir être MAGE_RUN_TYPE “stocker” être mis en, comme nous l'avons “dans le code sont”.
    Heureusement, “stocker” de toute façon le MAGE_RUN_TYPE par défaut s'il est laissé en blanc, pourquoi ne l'exemple donné, même sans la volonté de MAGE_RUN_TYPE.

Laisser une réponse à Covos

Votre adresse email ne sera pas publié. les champs requis sont indiqués *