Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Multistore und automatische Sprachzuordnung
 
kabelyau
Jr. Member
 
Total Posts:  10
Joined:  2011-09-21
 

Ich hoffe ich habe das richtige Unterforum gewählt, bin ja noch neu hier. smile

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($qualitySORT_NUMERICSORT_DESC$langs);
        
// get list of stores and use the store code for the key
        
$stores Mage::app()->getStores(falsetrue);
        
// 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. wink

 
Magento Community Magento Community
Magento Community
Magento Community
 
kabelyau
Jr. Member
 
Total Posts:  10
Joined:  2011-09-21
 

Hat keiner eine Idee?

Über Hilfe würde ich mich sehr freuen.

 
Magento Community Magento Community
Magento Community
Magento Community
 
sp2000
Jr. Member
 
Total Posts:  12
Joined:  2010-03-17
 

habt ihr für das problem eine lösung gefunden ?

habe gerade das gleiche dilemma wink

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top