中国の旗は言語スイッチャーで変更されていません
-
13-12-2019 - |
質問
オン 私のウェブサイト:に切り替えると 中国語 ザ- 旗 言語スイッチャーで変更されていませんか?他の言語は正常に動作しています。例:に切り替えると フランス語, 、そのフランスの旗を示しています。..
これは 言語。phtml 私は使用しています:
<?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; ?>
解決
あなたのjavascriptファイルを掘り下げると、私はこの作品を見つけました
$j('.polyglot-language-switcher').polyglotLanguageSwitcher({
selectedLang: function () {
return $j('html').attr('lang');
}
});
これは基本的に使用しています lang
現在の言語を設定するHTMLタグの属性。いくつかの店舗でこれをテストすると、言語は常に正しく設定されます。
<html lang="en" id="top" class="no-js">
英語のために,
<html lang="en" id="top" class="no-js">
フランス語のために。..しかし、中国語のために <html lang="zh" id="top" class="no-js">
そして、あなたはコードを使用しているので CN
しかし、言語は ZH it doesn't match.
ZH
は、Magentoが使用するISO2言語コードですが、言語スイッチャーは提供したストアコードを使用します。最も簡単でクリーンな解決策は、単にstorecodeを次のように変更することです ZH
.他のソリューションでは、コードのハードコードされた書き換えが必要になります
所属していません magento.stackexchange