Как отложить изображение флага страны в сторону переключатель языков без расширения


Я новичок в Magento и использую 1.9.3.1. Найдено решение о размещении изображения флага в качестве переключателя языков (onclick) в

App/design/frontend/package_folder/theme_folder/template/page/switch/languages.phtml

С этим кодом:

<?php if(count($this->getStores())>1): ?>
<div class="form-language">
    <div class="langs-wrapper">
    <?php foreach ($this->getStores() as $_lang): ?>
        <?php if ($_lang->getCode() != 'default'): ?>
        <a class="lang-flag" href="<?php echo $this->getCurrentUrl() . '?___store=' . $_lang->getCode();?>"><img src="<?php echo $this->getSkinUrl('images/flags/' . $_lang->getCode() . '.png');?>" alt=""></a>
        <?php endif;?>
    <?php endforeach;?>
    </div>
</div>
<?php endif;?>

Как вы можете видеть, здесь нет тега <select></select>.

Вот шаблон по умолчанию языки.phtml с тегом <select></select>

<?php if(count($this->getStores())>1): ?>
<div class="form-language">
    <!-- Code to render flag image -->
    <select id="select-language" title="<?php echo $this->__('Language') ?>" onchange="window.location.href=this.value">
    <?php foreach ($this->getStores() as $_lang): ?>
        <?php $_selected = ($_lang->getId() == $this->getCurrentStoreId()) ? ' selected="selected"' : '' ?>
        <option value="<?php echo $_lang->getCurrentUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_lang->getName()) ?></option>
    <?php endforeach; ?>
    </select>
</div>
<?php endif; ?>

Мне нужно разместить код для рендеринга изображения, и чтобы быть правым, лучше <select></select> тег зависит от вида магазина (но не должен быть доступен для переключения языка, как первый блок кода выше), и когда я выбрал язык в теге <select></select> (для переключения языка), то флаг другой страны должен отображаться в зависимости от языка.

Author: PetarPB, 2017-06-03

1 answers

Решение:

<?php if(count($this->getStores())>1): ?>
<div class="form-language">
    <div class="flag-wrapper">
        <?php foreach ($this->getStores() as $_lang): ?>
            <?php if($_lang->getId() == $this->getCurrentStoreId()): ?>
                <img src="<?php echo $this->getSkinUrl('images/flags/' . $_lang->getCode() . '.png');?>" alt="<?php echo $this->htmlEscape($_lang->getName()) ?>">
            <?php endif; ?>
        <?php endforeach ?>
    </div>
    <select id="select-language" title="<?php echo $this->__('Language') ?>" onchange="window.location.href=this.value">
    <?php foreach ($this->getStores() as $_lang): ?>
        <?php $_selected = ($_lang->getId() == $this->getCurrentStoreId()) ? ' selected="selected"' : '' ?>
        <option value="<?php echo $_lang->getCurrentUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_lang->getName()) ?></option>
    <?php endforeach; ?>
    </select>
</div>
<?php endif; ?>
 0
Author: PetarPB, 2017-06-04 13:53:21