Как отложить изображение флага страны в сторону переключатель языков без расширения
Я новичок в 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>
(для переключения языка), то флаг другой страны должен отображаться в зависимости от языка.
1
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