Jump to content
Sign in to follow this  
bullet2018

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

Recommended Posts

Всем привет.

Хочу сделать выбор валюты на сайте через событие 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>

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

Share this post


Link to post
Share on other sites


<?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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Изображение

  • +1 1

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

iYw4Hugx9RVHG.png

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 } ?>

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

Share this post


Link to post
Share on other sites

 

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)

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.