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

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

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

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

 

Вот мой 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 } ?>

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

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


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

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

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

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


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

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

 

Вот мой 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 } ?>

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

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


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

Это в версиях 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 } ?>

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


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

Спасибо большое! Все получилось, в /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 } ?>

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


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

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

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

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

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

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

Войти

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

Войти

  • Похожий контент

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

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

×

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

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