Китайский флаг не меняется в переключателе языков

magento.stackexchange https://magento.stackexchange.com//questions/80641

  •  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 это код языка ISO2, который использует Magento, в то время как средство переключения языков использует предоставленные вами коды хранилища.Самое быстрое и понятное решение - просто изменить код хранилища на ZH.Любое другое решение потребовало бы жесткого переписывания кода

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top