Панель выбора языка RU ENG без картинок флажков

jurikserf

Мастер
Регистрация
4 Янв 2013
Сообщения
109
Реакции
32
При создании очередного интернет магазина на Opencart была получена просьба от заказчика изменить стиль вывода панели выбора языка.

Стандартный вариант с картинками флажков ему не понравился...:mad: Хочет видеть просто активный текст RU ENG, при нажатии по одному из которых менялся бы язык отображения магазина.

Хотел пойти по простому пути и найти шаблон с реализацией модуля выбора языка без флажков, но к моему удивлению не нашлось ни одного шаблона, везде присутствует стандартный вариант отображения.

Может кто-то может подсказать простое решение....

Стандартный код в используемом шаблоне:

Код:
 <?php if (count($languages) > 1) { ?>
  <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
    <div id="language">
   
    <div class="languagemenu"><?php echo $text_language; ?></div>
    <?php foreach ($languages as $language) { if($language_code == $language['code']){?>
    <img class="imagemenu" src="image/flags/<?php echo $language['image']; ?>" title="US" alt="US" />
    <?php }} ?>
    <ul>
      <?php foreach ($languages as $language) { ?>
      <li <?php if($language_code == $language['code']){echo 'class="active"';}?>>
      <img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>').submit(); $(this).parent().parent().parent().parent().submit();" />
      </li>
      <?php } ?>
      </ul>
      <input type="hidden" name="language_code" value="" />
      <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
    </div>
  </form>
 
Первое что приходит на ум - ход конем. Перерисуй png-шки.
 
PHP:
<?php if (count($languages) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
  <div id="language"><?php echo $text_language; ?><br />
    <?php foreach ($languages as $language) { ?>
    <span onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();" /><?php echo $language['code']; ?></span>
    <?php } ?>
    <input type="hidden" name="language_code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
  </div>
</form>
<?php } ?>

Со стилями думаю уже сами разберетесь
 
я со стилями не разобрался. помогите выделить выбранный язык.
 
я со стилями не разобрался. помогите выделить выбранный язык.

Возможно уже не актуально, но другим может пригодится:

В файле: catalog/view/theme/{theme}/template/module/language.tpl

Код:
    <?php foreach ($languages as $language) { ?>
        <img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();" />
    <?php } ?>

заменить на:

Код:
    <?php
        $languageActive = $this->session->data['language'];
        $class =" active_lang";
    ?>
    <?php foreach ($languages as $key => $language ) { ?>
        <img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();" class="language<?php if($languageActive==$language['code']){ echo $class;}?>" />
    <?php } ?>
 
Назад
Сверху