-
- kabelyau

-
Total Posts: 10
Joined: 2011-09-21
|
Ich hoffe ich habe das richtige Unterforum gewählt, bin ja noch neu hier.
In unserer Magento-Installation gibt es 2 verschiedene Stores, jeder Store hat verschiedene Storeviews für verschiedene Sprachen.
Wir würden gern die Kunden anhand der Browser-Sprache automatisch auf den richtigen Storeview weiterleiten. Dazu habe ich die folgende Anleitung gefunden: http://www.magentocommerce.com/wiki/multi-store_set_up/how_to_automatically_redirect_to_a_store_view_based_on_the_browser_language
Das funktioniert auch wunderbar in unserem Haupt-Store, allerdings werden jetzt alle Anfragen auf unserem “Neben-Store” auf den Haupt-Store umgeleitet.
Das entscheidende Code-Schnipsel, das ich in die index.php eingetragen habe ist:
/* Determine correct language store based on browser */ function getStoreForLanguage() { if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { foreach (explode(",", strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE'])) as $accept) { if (preg_match("!([a-z-]+)(;q=([0-9.]+))?!", trim($accept), $found)) { $langs[] = $found[1]; $quality[] = (isset($found[3]) ? (float) $found[3] : 1.0); } } // Order the codes by quality array_multisort($quality, SORT_NUMERIC, SORT_DESC, $langs); // get list of stores and use the store code for the key $stores = Mage::app()->getStores(false, true); // iterate through languages found in the accept-language header foreach ($langs as $lang) { $lang = substr($lang,0,2); if (isset($stores[$lang]) && $stores[$lang]->getIsActive()) return $stores[$lang]; } } return Mage::app()->getStore(); } /* Auto redirect to language store view if request is for root */ if ($_SERVER['REQUEST_URI'] === '/') { header('Location: '.getStoreForLanguage()->getBaseUrl()); exit; }
Warum dieses Problem auftritt ist mir klar. In den Storeviews des Haupt-Stores sind die Länder-Codes korrekt eingetragen( de, en, fr, etc.). Im Neben-Store geht das aber nicht, weil jeder code nur einmal vergeben werden darf (daher de_1, en_1, fr_1, etc).
Hat jemand eine Idee, wie ich den obigen Code verändern muss, damit die automatisch Storeview-Zuordnung in allen Stores funktioniert?
Falls ich mich undeutlich ausgedrückt habe, bitte nachfragen.
|