Перейти к содержанию
MyPrint

Сделать выпадающее меню с выбором языка вместо флагов в шапке

Рекомендуемые сообщения

Обычно все хотят убрать выбор языка в шапке, а у меня задача обратная. Языков много и флаги занимают слишком много места.

OcStore 1.5.5.1.2, стандартный шаблон. Будьте так добры, кто знает, подскажите, как сделать, чтобы языки выбирались из выпадающего меню?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сколько я понял, надо редактировать /catalog/view/theme/default/template/module/language.tpl

У меня сейчас:

<?php if (count($languages) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
  <div id="language"><?php echo $text_language; ?>
    <?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 } ?>
    <input type="hidden" name="language_code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
  </div>
</form>
<?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/>
            <select name="language_code" onchange="$(this).parent().parent().submit();">
				<?php foreach ($languages as $language) { ?>
                    <option value="<?php echo $language['code']; ?>" <?php echo $language_code == $language['code'] ? 'selected' : '' ?>>
	                    <?php echo $language['name']; ?>
                    </option>
				<?php } ?>
            </select>
            <input type="hidden" name="redirect" value="<?php echo $redirect; ?>"/>
        </div>
    </form>
<?php } ?>

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

reDream, спасибо большое за ответ! К сожалению, не работает.

 

Если полностью заменить содержимое моего файла - выпадающее меню появляется, но внутри его ничего нет.

 

Если добавить к содержимому моего файла - выпадающее меню получается под флагами. И внутри его варианты языков. Только почему-то не названия языков, а их коды. Но при выборе языка из выпадающего меню переключения не происходит. Редиректит на страницу site.ru//index.php?route=module/language

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
58 минут назад, MyPrint сказал:

выпадающее меню появляется, но внутри его ничего нет

Странно. Может, где-то тег не закрыт?

Если есть ссылка, будет намного проще. Если нет, сохраните страницу в html и пришлите, гляну.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.