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

Выбор валюты селектом

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

Всем привет.

Хочу сделать выбор валюты на сайте через событие onchange у select.

Сделал вот так вот:

<?php if (count($currencies) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
  <div id="currency"><?php echo $text_currency; ?><br />
	 <select id="cur" name="cur" onchange="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();">
    <?php foreach ($currencies as $currency) { ?>
    <?php if ($currency['code'] == $currency_code) { ?>


<option value="<?php echo $currency['code']; ?>"><?php echo $currency['title']; ?></option>

    <?php } else { ?>
<option value="<?php echo $currency['code']; ?>"><?php echo $currency['title']; ?></option>

    <?php } ?>
    <?php } ?>
</select>
    <input type="hidden" name="currency_code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />

  </div>
</form>
<?php } ?>

но элемент $currency['code'] не передается в select. Наверно потому, что он стоит перед перебором массива. Если ставить после перебора, то получается всего один <option>

Подскажите пожалуйстка как быть в этой ситуации.

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


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


<?php if (count($currencies) > 1) { ?>

<!-- currency select -->

<form action="<?php echo str_replace('&', '&', $action); ?>" method="post" enctype="multipart/form-data" id="currency_form">

<div class="switcher">

<?php foreach ($currencies as $currency) { ?>

<?php if ($currency['code'] == $currency_code) { ?>

<p><?php echo $currency['title']; ?></p>

<?php } ?>

<?php } ?>

<ul class="option">

<?php foreach ($currencies as $currency) { ?>

<li><a href="javascript:;" onclick="$('input[name='currency_code']').attr('value', '<?php echo $currency['code']; ?>'); $('#currency_form').submit();"><?php echo $currency['title']; ?></a></li>

<?php } ?>

</ul>

</div>

<input type="hidden" name="currency_code" value="" />

<input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />

</form>

<!-- end currency select -->

<?php } ?>

  • +1 1

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


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

Это конечно хорошо, но фишка в том, что по дизайну выбор валюты идет через выпадающий список.

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


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

Это конечно хорошо, но фишка в том, что по дизайну выбор валюты идет через выпадающий список.

Это и есть выпадающий список (ul li). Все остальное оформляется стилями css. Выглядит вот так:

Изображение

  • +1 1

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


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

А с какой версии этот скриншот?

Либо есть где в живую посмотреть сайт, откуда скрин?

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


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

А с какой версии этот скриншот?

Либо есть где в живую посмотреть сайт, откуда скрин?

Это скриншот с коммерческого шаблона, который я сейчас заканчиваю. Увидеть вживую можно будет через день.

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


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

Это и есть выпадающий список (ul li). Все остальное оформляется стилями css. Выглядит вот так:

iYw4Hugx9RVHG.png

 

Здравствуйте. Как именно в стилях оформить список используя ваш код?

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


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

возьми раритет (opencart_149x / ocStore_02x) и посмотри, как там сделано.

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


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

9684f-clip-17kb.png

<?php if (count($currencies) > 1) { ?>
<div class="pull-left">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="currency">
  <div class="btn-group currency">
    <button class="btn btn-link btn-cur dropdown-toggle" data-toggle="dropdown">
    <?php foreach ($currencies as $currency) { ?>
    <?php if ($currency['symbol_left'] && $currency['code'] == $code) { ?>
    <span class="currency-symbol" ><?php echo $currency['symbol_left']; ?></span>
    <?php } elseif ($currency['symbol_right'] && $currency['code'] == $code) { ?>
    <span class="currency-symbol" ><?php echo $currency['symbol_right']; ?></span>
    <?php } ?>
    <?php } ?>
    <i class="fa fa-caret-down"></i></button>
    <ul class="dropdown-menu">
      <?php foreach ($currencies as $currency) { ?>
      <?php if ($currency['symbol_left']) { ?>
      <li><button class="currency-select btn btn-link btn-block" type="button" name="<?php echo $currency['code']; ?>"><?php echo $currency['symbol_left']; ?> <?php echo $currency['title']; ?></button></li>
      <?php } else { ?>
      <li><button class="currency-select btn btn-link btn-block" type="button" name="<?php echo $currency['code']; ?>"><?php echo $currency['symbol_right']; ?> <?php echo $currency['title']; ?></button></li>
      <?php } ?>
      <?php } ?>
    </ul>
  </div>
  <input type="hidden" name="code" value="" />
  <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
</form>
</div>
<?php } ?>

остальное стилями

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


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

 

9684f-clip-17kb.png

<?php if (count($currencies) > 1) { ?>
<div class="pull-left">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="currency">
  <div class="btn-group currency">
    <button class="btn btn-link btn-cur dropdown-toggle" data-toggle="dropdown">
    <?php foreach ($currencies as $currency) { ?>
    <?php if ($currency['symbol_left'] && $currency['code'] == $code) { ?>
    <span class="currency-symbol" ><?php echo $currency['symbol_left']; ?></span>
    <?php } elseif ($currency['symbol_right'] && $currency['code'] == $code) { ?>
    <span class="currency-symbol" ><?php echo $currency['symbol_right']; ?></span>
    <?php } ?>
    <?php } ?>
    <i class="fa fa-caret-down"></i></button>
    <ul class="dropdown-menu">
      <?php foreach ($currencies as $currency) { ?>
      <?php if ($currency['symbol_left']) { ?>
      <li><button class="currency-select btn btn-link btn-block" type="button" name="<?php echo $currency['code']; ?>"><?php echo $currency['symbol_left']; ?> <?php echo $currency['title']; ?></button></li>
      <?php } else { ?>
      <li><button class="currency-select btn btn-link btn-block" type="button" name="<?php echo $currency['code']; ?>"><?php echo $currency['symbol_right']; ?> <?php echo $currency['title']; ?></button></li>
      <?php } ?>
      <?php } ?>
    </ul>
  </div>
  <input type="hidden" name="code" value="" />
  <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
</form>
</div>
<?php } ?>

остальное стилями

 

Понравилось ваше решение. Поменял код в currency.tpl на этот, получилось так > ce61de0fed0f.jpg .

Что нужно править в стилях, чтобы получить список как у вас? (OC 1.5.4.1.2)

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


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

в первую очередь поставить корзину на место

а стили переработать все, т.к. образец кода был на ОС2.0

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


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

Хотелось бы спросить у топикстартера. Удалось ли вам решить проблему со списком валют?

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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