Перейти к содержимому


Фото
- - - - -

Изменение цены при выборе количества товара до добавления в корзину


  • Чтобы отвечать, сперва войдите на форум
5 ответов в теме

#1 andrey87

andrey87
  • Пользователь
  • 3 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Moscow

Опубликовано 12.07.2018 - 14:07

Добрый день, подскажите как реализовать изменение цены при выборе количества товара до добавления в корзину. Надо чтобы выбрав нужное количество товара, цена менялась в карточке товара

#2 phukortsin

phukortsin
  • Пользователь
  • 584 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 12.07.2018 - 14:22

Если сделать формально в точно так как написано, то можно сделать сравнительно просто через JS.

Но если Вы хотите, чтобы Ваша новая цена записывалась далее в заказ, то потребуется весьма сложная работа.

Если Вы новичок и не сильно разбираетесь в тонкостях работы CMS, то лучше сразу отказаться от изобретения кривого велосипеда...



#3 andrey87

andrey87
  • Пользователь
  • 3 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Moscow

Опубликовано 12.07.2018 - 14:29

Подскажите как через js сделать?
Вот я тутhttp://salutem-in-cy...ducts/ivan-chaj
Сдела выбор колияества в корзину попадает, но в карточке товара цена меняется только при смене варианта

#4 phukortsin

phukortsin
  • Пользователь
  • 584 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 12.07.2018 - 17:53

Вот и смотрите, как сделана смена цены при смене варианта, и действуйте аналогично.

А если хотите готовый код для вставки "под ключ", то тут надо поработать именно в Вашем шаблоне, вряд ли кто бесплатно напишет готовое решение...

И насколько можно понять, Вы хотите не ЦЕНУ менять, а СТОИМОСТЬ выбранных товаров. Такие вещи надо бы отличать.



#5 andrey87

andrey87
  • Пользователь
  • 3 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Moscow

Опубликовано 12.07.2018 - 21:14

Вот кусок кода может подскажет?

<code>

{if $product->variants|count > 0}
{literal}
<script>
$(function() {
// Выбор вариантов
$('select[name=variant]').change(function() {
price = $(this).find('option:selected').attr('price');
compare_price = $(this).find('option:selected').attr('compare_price');
$(this).closest('form.variants').find('span.price span').html(price);
if(compare_price) {
$(this).closest('form.variants').find('strike.price span').html(compare_price);
$(this).closest('form.variants').find('strike.price').show();
} else {
$(this).closest('form.variants').find('strike.price').hide();
}
return false;
});

});
</script>
{/literal}

<form class="variants" action="/cart">
<div id="product-options-wrapper" class="product-options" {if $product->variants|count<2}style="display: none;"{/if}>
<dl>
<dt><label class="required">Выберите упаковку:</label></dt>
<dd>
<div class="input-box">
<select class="select{$product->id} required-entry product-custom-option form-control" name="variant">
{foreach $product->variants as $v}
<option id="featured_{$v->id}" value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"{/if} price="{$v->price|convert}">{if $v->name}{$v->name}{/if}</option>
{/foreach}
</select>
</div>
</dd>
</dl>

</div>

<div class="product-options-bottom">
<!-- Цена -->
<div class="price-box">
<span class="regular-price">
<strike class="price" {if $product->variant->compare_price==0}style="display: none;"{/if}>Старая цена: <span>{$product->variant->compare_price|convert}</span> {$currency->sign|escape}</strike>
<span class="price">Цена: <span>{$product->variant->price|convert}</span> {$currency->sign|escape}</span>
</span>
</div>

<div class="price-box">
{if $user->discount}
* Скидка {$user->discount|convert}% будет учтена при оформлении заказа.
{/if}
</div>
<!-- Цена (End)-->

<div class="add-to-cart">
<div class="qty-block">
<p>Количество:</p>


<select name="amount" class="amounts">
{section name=amounts start=1 loop=$product->variant->stock+1 step=1}
<option value="{$smarty.section.amounts.index}" {if $product->amount==$smarty.section.amounts.index}selected{/if}>{$smarty.section.amounts.index} {$settings->units}</option>
{/section}
</select>
</div>

<input class="button btn-cart" title="Добавить в корзину" type="submit" data-result-text="Добавлено" onclick="yaCounter25367054.reachGoal('productADD2CART'); return true;" value="Добавить в корзину" >

</div>
</div>
</form>
</code>

#6 phukortsin

phukortsin
  • Пользователь
  • 584 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 13.07.2018 - 09:42

Подсказывающий код, даже с комментариями, можете видеть тут

http://forum.simplac...ыборе-варианта/

или

http://forum.simplac...м-и-при-этом-м/

И еще в десятке мест на форуме... А в сети в целом  - Вам на всю жизнь хватит разбирать миллионы примеров, большинство из которых сделаны мастерами копирования-вставки...






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых