Frage

An meine Webseite:wenn ich umschalte chinesische Sprache Die Flagge ändert sich im Sprachumschalter nicht?Die anderen Sprachen funktionieren gut.Z.B.wenn Sie zu wechseln Französisch, es zeigt die französische Flagge ...

Dies ist das language.phtml ich benutze:

<?php if(count($this->getStores())>1): ?>
<div class="polyglot-language-switcher" data-grid-columns="1" data-anim-effect="fade" data-open-mode="click" data-anim-speed="0.1" >
    <ul style="display: none">
        <?php foreach ($this->getStores() as $_lang):?>
                <li><a href="<?php echo $_lang->getCurrentUrl() ?>" title="<?php echo $this->htmlEscape($_lang->getName()) ?>" data-lang-id="<?php echo $this->htmlEscape($_lang->getCode()) ?>"><img src="<?php echo $this->getSkinUrl('images/flags/' . $_lang->getCode() . '.png');?>" alt=""> <?php echo $this->htmlEscape($_lang->getName()) ?></a></li>
        <?php endforeach;?>
    </ul>
</div>
<?php endif; ?>
War es hilfreich?

Lösung

Beim Durchsuchen Ihrer Javascript-Dateien bin ich auf dieses Stück gestoßen

    $j('.polyglot-language-switcher').polyglotLanguageSwitcher({
        selectedLang: function () {
            return $j('html').attr('lang');
        }
    });

Was im Grunde das verwendet lang Attribut des HTML-Tags, um die aktuelle Sprache festzulegen.Beim Testen in mehreren Shops ist die Sprache immer richtig eingestellt.

<html lang="en" id="top" class="no-js"> für Englisch,<html lang="en" id="top" class="no-js"> für Französisch...Aber für Chinesisch <html lang="zh" id="top" class="no-js">

Und da Sie den Code verwenden CN aber die Sprache ist ZH it doesn't match.

ZH ist der ISO2-Sprachcode, den Magento verwendet, während der Sprachumschalter die von Ihnen bereitgestellten Geschäftscodes verwendet.Die schnellste und sauberste Lösung besteht darin, einfach den Geschäftscode in zu ändern ZH.Jede andere Lösung würde eine hartcodierte Neufassung des Codes erfordern

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top