andrey87 Опубликовано 12 июля, 2018 Жалоба Поделиться Опубликовано 12 июля, 2018 Добрый день, подскажите как реализовать изменение цены при выборе количества товара до добавления в корзину. Надо чтобы выбрав нужное количество товара, цена менялась в карточке товара Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 12 июля, 2018 Жалоба Поделиться Опубликовано 12 июля, 2018 Если сделать формально в точно так как написано, то можно сделать сравнительно просто через JS.Но если Вы хотите, чтобы Ваша новая цена записывалась далее в заказ, то потребуется весьма сложная работа.Если Вы новичок и не сильно разбираетесь в тонкостях работы CMS, то лучше сразу отказаться от изобретения кривого велосипеда... Цитата Ссылка на сообщение Поделиться на другие сайты
andrey87 Опубликовано 12 июля, 2018 Автор Жалоба Поделиться Опубликовано 12 июля, 2018 Подскажите как через js сделать?Вот я тутhttp://salutem-in-cypro.ru/products/ivan-chajСдела выбор колияества в корзину попадает, но в карточке товара цена меняется только при смене варианта Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 12 июля, 2018 Жалоба Поделиться Опубликовано 12 июля, 2018 Вот и смотрите, как сделана смена цены при смене варианта, и действуйте аналогично.А если хотите готовый код для вставки "под ключ", то тут надо поработать именно в Вашем шаблоне, вряд ли кто бесплатно напишет готовое решение...И насколько можно понять, Вы хотите не ЦЕНУ менять, а СТОИМОСТЬ выбранных товаров. Такие вещи надо бы отличать. Цитата Ссылка на сообщение Поделиться на другие сайты
andrey87 Опубликовано 12 июля, 2018 Автор Жалоба Поделиться Опубликовано 12 июля, 2018 Вот кусок кода может подскажет? <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> Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 13 июля, 2018 Жалоба Поделиться Опубликовано 13 июля, 2018 Подсказывающий код, даже с комментариями, можете видеть тутhttp://forum.simplacms.ru/topic/11148-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D1%86%D0%B5%D0%BD%D1%8B-%D0%BF%D1%80%D0%B8-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B5-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%B0/илиhttp://forum.simplacms.ru/topic/8026-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%B2%D1%8B%D0%BF%D0%B0%D0%B4%D0%B0%D1%8E%D1%89%D0%B8%D0%BC-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%BE%D0%BC-%D0%B8-%D0%BF%D1%80%D0%B8-%D1%8D%D1%82%D0%BE%D0%BC-%D0%BC/И еще в десятке мест на форуме... А в сети в целом - Вам на всю жизнь хватит разбирать миллионы примеров, большинство из которых сделаны мастерами копирования-вставки... Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.