Question

Sur mon site web:si je passe à La langue chinoise l' drapeau ne change pas dans la langue switcher?Les autres sont les langues de travail de l'amende.E. g.si vous passez à Français, son montrant le drapeau français...

C'est le de langue.phtml je suis à l'aide de:

<?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; ?>
Était-ce utile?

La solution

Creuser par le biais de vos fichiers javascript, j'ai trouvé ce morceau

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

Qui utilise essentiellement le lang attribut de la balise HTML pour définir le langage courant.Le test de ce sur plusieurs magasins de la langue est toujours réglé correctement.

<html lang="en" id="top" class="no-js"> pour l'anglais, <html lang="en" id="top" class="no-js"> pour le français...Mais pour les Chinois <html lang="zh" id="top" class="no-js">

Et puisque vous êtes à l'aide du code CN mais la langue est ZH it doesn't match.

ZH est le ISO2 code de langue qui Magento utilise la langue switcher utilise les codes de magasin que vous avez fournie.Le moyen le plus rapide et la plus propre solution est tout simplement de changer le storecode à ZH.Toute autre solution aurait besoin d'un codage en dur réécriture du code

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top