Jump to content
Sign in to follow this  
Andrey770

Выпадающий список валют

Recommended Posts

Добрый день. По умолчанию список валют выводится в одну строку, как сделать выпадающий список? 

 

Вот мой currency.tpl 

<?php if (count($currencies) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
  <div id="currency">
    <?php foreach ($currencies as $currency) { ?>
    <?php if ($currency['code'] == $currency_code) { ?>
    <?php if ($currency['symbol_left']) { ?>
    <a title="<?php echo $currency['title']; ?>" class="active"><?php echo $currency['symbol_left']; ?></a>
    <?php } else { ?>
    <a title="<?php echo $currency['title']; ?>" class="active"><?php echo $currency['symbol_right']; ?></a>
    <?php } ?>
    <?php } else { ?>
    <?php if ($currency['symbol_left']) { ?>
    <a title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();"><?php echo $currency['symbol_left']; ?></a>
    <?php } else { ?>
    <a title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();"><?php echo $currency['symbol_right']; ?></a>
    <?php } ?>
    <?php } ?>
    <?php } ?>
    <input type="hidden" name="currency_code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
  </div>
</form>
<?php } ?>

Поиск юзал, подходящего не нашел (

Share this post


Link to post
Share on other sites

Это в версиях 1.4.* было. 

Можете взять куски кода оттуда.

Share this post


Link to post
Share on other sites

Добрый день. По умолчанию список валют выводится в одну строку, как сделать выпадающий список? 

 

Вот мой currency.tpl 

<?php if (count($currencies) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
  <div id="currency">
    <?php foreach ($currencies as $currency) { ?>
    <?php if ($currency['code'] == $currency_code) { ?>
    <?php if ($currency['symbol_left']) { ?>
    <a title="<?php echo $currency['title']; ?>" class="active"><?php echo $currency['symbol_left']; ?></a>
    <?php } else { ?>
    <a title="<?php echo $currency['title']; ?>" class="active"><?php echo $currency['symbol_right']; ?></a>
    <?php } ?>
    <?php } else { ?>
    <?php if ($currency['symbol_left']) { ?>
    <a title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();"><?php echo $currency['symbol_left']; ?></a>
    <?php } else { ?>
    <a title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();"><?php echo $currency['symbol_right']; ?></a>
    <?php } ?>
    <?php } ?>
    <?php } ?>
    <input type="hidden" name="currency_code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
  </div>
</form>
<?php } ?>

Поиск юзал, подходящего не нашел (

Если реализовали подскажите пожалуйста.

Я пытался сделать так в currency.tpl:

<?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 size="1">
    <?php foreach ($currencies as $currency) { ?>
    <?php if ($currency['code'] == $currency_code) { ?>
    <?php if ($currency['symbol_left']) { ?>
    <option selected="selected" title="<?php echo $currency['title']; ?>"><b><?php echo $currency['symbol_left']; ?></b></option>
    <?php } else { ?>
    <option title="<?php echo $currency['title']; ?>"><b><?php echo $currency['symbol_right']; ?></b></option>
    <?php } ?>
    <?php } else { ?>
    <?php if ($currency['symbol_left']) { ?>
    <option title="<?php echo $currency['title']; ?>" onChange="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();"><?php echo $currency['symbol_left']; ?></option>
    <?php } else { ?>
    <option title="<?php echo $currency['title']; ?>" onChange="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();"><?php echo $currency['symbol_right']; ?></option>
    <?php } ?>
    <?php } ?>
    <?php } ?>
    <input type="hidden" name="currency_code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
    </select>
  </div>
</form>
<?php } ?>

Но к сожалению, при выборе валюты смена не происходит. Подскажите пожалуйста, что нужно подправить.

Share this post


Link to post
Share on other sites

Это в версиях 1.4.* было. 

Можете взять куски кода оттуда.

Посмотрел, да в этих версиях выводится списком. Но находится код в header.tpl. Но разницы я не увидел=( 

<?php if (count($currencies) > 1) { ?>
  <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
    <div id="currency"><?php echo $text_currency; ?><br />
      <?php foreach ($currencies as $currency) { ?>
      <?php if ($currency['code'] == $currency_code) { ?>
      <?php if ($currency['symbol_left']) { ?>
      <a title="<?php echo $currency['title']; ?>"><b><?php echo $currency['symbol_left']; ?></b></a>
      <?php } else { ?>
      <a title="<?php echo $currency['title']; ?>"><b><?php echo $currency['symbol_right']; ?></b></a>
      <?php } ?>
      <?php } else { ?>
      <?php if ($currency['symbol_left']) { ?>
      <a title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>').submit(); $(this).parent().parent().submit();"><?php echo $currency['symbol_left']; ?></a>
      <?php } else { ?>
      <a title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>').submit(); $(this).parent().parent().submit();"><?php echo $currency['symbol_right']; ?></a>
      <?php } ?>
      <?php } ?>
      <?php } ?>
      <input type="hidden" name="currency_code" value="" />
      <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
    </div>
  </form>
  <?php } ?>

Share this post


Link to post
Share on other sites

Спасибо большое! Все получилось, в /catalog/view/theme/*/template/module/currency.tpl нужно заменить все строки на эти:

<?php if (count($currencies) > 1) { ?>
    <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
		<div id="currency"><span><?php echo $text_currency; ?>: </span>
			<select id="currencies" name="currencies" onChange="$('input[name=\'currency_code\']').attr('value', $('#currencies option:selected').val()
).submit(); $(this).parent().parent().submit();">
			<?php foreach ($currencies as $currency) { ?>
            	<?php if ($currency['code'] == $currency_code) { ?>
                    	<option class="option" selected value="<?php echo $currency['code']; ?>"><?php echo $currency['title']; ?></option>
            	<?php }else{  ?>
                    	<option class="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 } ?>

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  

  • Similar Content

    • By shayko
      300.00 руб
      Скачать/Купить дополнение


      autocurrency-oc3.ocmod.zip
      Модуль автоматической смены валюты в зависимости от того с какой страны посетитель
      1) Страна  <-----> Валюта настраивается в настройках модуля
      2)модуль использует geoip для определения страны
      3)если пользователь зашел из страны не определенной в настройках устанавливаеться валюта по умолчанию)
      4)разрешить запретить пользователю менять валюту
      autocurrency-oc3.ocmod.zip
      Добавил shayko Добавлено 06.08.2018 Категория Модули Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore Несовместим OpenCart.Pro, ocShop  
    • By shayko
      Модуль автоматической смены валюты в зависимости от того с какой страны посетитель
      1) Страна  <-----> Валюта настраивается в настройках модуля
      2)модуль использует geoip для определения страны
      3)если пользователь зашел из страны не определенной в настройках устанавливаеться валюта по умолчанию)
      4)разрешить запретить пользователю менять валюту
      autocurrency-oc3.ocmod.zip
    • By internet694
      В файлах перевода поменял и получилось как надо, но при добавлении товаврв, всеравно по старому. Я так понимаю что все в common.js написано. Кто знает где менять чтоб скрыть надпись цены  и слово "товары" на кнопке корзины.
    • By Fobos1
      Добрый день. В опциях сделал список для выбора цвета товара.
      Хотелось бы что бы заходя на карточку товара уже был выбран цвет "как на фотографии", что бы покупателю не нужно было выбирать, если его устраивает данный цвет.
       
      В исходном коде представляю себе это так:
       
       
      Как задать изначально выбранный пункт списка? Где это править?
    • By sanguinato
      Добрый день, подскажите пожалуйста как получить значение курса в файле system/library/cart.php ? 
  • 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.