La bandiera cinese non cambia nel commutatore della lingua
-
13-12-2019 - |
Domanda
on Il mio sito Web : se passerò a lingua cinese il
Questo è il Language.phtml Sto usando:
<?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; ?>
. Soluzione
Scavando attraverso i tuoi file JavaScript ho trovato questo pezzo
$j('.polyglot-language-switcher').polyglotLanguageSwitcher({
selectedLang: function () {
return $j('html').attr('lang');
}
});
.
che utilizza fondamentalmente l'attributo lang
del tag HTML per impostare la lingua corrente.Test di questo su diversi negozi La lingua è sempre impostata correttamente.
<html lang="en" id="top" class="no-js">
per l'inglese,
<html lang="en" id="top" class="no-js">
per il francese ... ma per il cinese <html lang="zh" id="top" class="no-js">
e dal momento che stai usando il codice CN
ma la lingua è ZH it doesn't match.
ZH
è il codice lingua ISO2 utilizzato da Magento mentre il commutatore della lingua utilizza i codici di memorizzazione che hai fornito.La soluzione più rapida e più pulita è quella di modificare semplicemente lo storeCode in ZH
.Qualsiasi altra soluzione richiederebbe una riscrittura rigida del codice