Ich möchte die Magento-Site so konfigurieren, dass sie die Standardsprache und den Standardspeicherort des Benutzers erkennt und die Site in dieser Sprache und mit der entsprechenden Lokalisierung anzeigt.
Beispielsweise:
Ein Benutzer aus Russland mit der russischen Sprache als Standardsprache wird direkt zur russischsprachigen Website mit Rubeln als Standardwährung und -preisen wechseln.
Ist das möglich? Wenn das so ist, wie?
quelle
Es gibt eine Magento GeoIP-Erweiterung (von mir geschrieben), die die neueste MaxMind-Datendatei herunterlädt und regelmäßig aktualisiert.
Ich schlage vor, in das
controller_front_init_before
Event einzusteigen . Sie können den folgenden Code verwenden, um zu überprüfen, ob der ISO 3166-1-Code des Landes des Besuchers vorliegt, und ihn dann zur entsprechenden Geschäftsansicht umleiten, falls Sie eine haben:Den ausführlichen Artikel zur Verwendung dieser Erweiterung finden Sie hier .
quelle
Werfen Sie einen Blick auf http://www.thefutureoftheweb.com/blog/use-accept-language-header, wenn Sie programmieren können. Sie können im
index.php
Laden der für die Sprache geeigneten Storeview einen Wechsel vornehmen.quelle
Eine andere Sache zu betrachten ist GEO IP.
Einige Codezeilen geben Ihnen den Ländercode des Benutzers, den Sie darauf basierend ändern können.
Beachten Sie jedoch, dass Sie Probleme mit umleitungsbasiertem Code haben, wenn Sie denselben Speicher mit Enterprise Edition und Vollseiten-Cache verwenden, in dem der erste Seitenzugriff zwischengespeichert wird .
quelle
Vary: Accept-Language
in der Kopfzeile für den Browser und die FPC.Eine andere Option ist die Verwendung der auto_prepend- Konfiguration von PHP . Dies bewirkt, dass alle von PHP gehandhabten Skripte das Skript ausführen, bevor das tatsächlich angeforderte Skript ausgeführt wird, jedoch nach .htaccess (wenn Sie das verwenden).
Dieser Ansatz kann in Kombination mit einigen anderen Vorschlägen (z. B. Verwendung von MaxMind für Geostandortdaten und Speichern von Ansichten für bestimmte Regionen) zu einem eher sauberen Ansatz führen.
Wenn Sie eine Version von Magento> = 1.4 ausführen, können Sie den Standardspeichercode konfigurieren, indem Sie den Wert $ _SERVER ['MAGE_RUN_CODE'] festlegen.
Fügen Sie entweder in der .htaccess-Datei oder in der Apache-Konfiguration Folgendes hinzu:
php_value auto_prepend_file /var/www/mystore/path/to/script.php
Führen Sie in Ihrem Unternehmen
script.php
die erforderliche Geschäftslogik aus und legen Sie den entsprechenden Geschäftscode fest:Beachten Sie, dass dies für alle angeforderten PHP-Dateien gilt. Beachten Sie dies also.
quelle