语言切换器中的中国国旗没有变化
-
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 语言代码,而语言切换器使用您提供的商店代码。最快、最干净的解决方案是将存储代码简单地更改为 ZH
. 。任何其他解决方案都需要对代码进行硬编码重写