Vince Опубликовано 7 августа, 2014 Жалоба Поделиться Опубликовано 7 августа, 2014 Господа хорошие) поделитесь строками вариантов товара выпадающим списком что бы при смене варианта и цена менялась. Спасибо заранее! Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 7 августа, 2014 Жалоба Поделиться Опубликовано 7 августа, 2014 JS скрипт: // Выбор варианта $('select[name=variant]').live('change', function(){ price = $(this).find('option:selected').attr('data-price'); compare_price = ''; if(typeof $(this).find('option:selected').attr('data-compare-price') == 'string') compare_price = $(this).find('option:selected').attr('data-compare-price'); $(this).closest('form.variants').find('.prc-new').html(price); $(this).closest('form.variants').find('.prc-old').html(compare_price); return false; }); Сама разметка html: <!-- Выбор варианта товара --> <form class="variants" action="/cart"> <div class="price"> <div class="prc-old"> {$product->variant->compare_price|convert} {$currency->sign|escape} </div> <div class="prc-new"> {$product->variant->price|convert} {$currency->sign|escape} </div> </div> <div class="cart"> {if $product->variants|count > 0} {if $product->variants|count>1} <select name="variant"> {foreach $product->variants as $v} <option value="{$v->id}" data-price="{$v->price|convert} {$currency->sign|escape}" data-compare-price="{$v->compare_price|convert} {$currency->sign|escape}">{$v->name}</option> {/foreach} </select> {else} <input name="variant" value="{$product->variant->id}" type="radio" checked style="display:none!important;"/> {/if} <input class="button" type="submit" value="В корзину"/> {else} Нет в наличии {/if} </div> </form> <!-- end --> Цитата Ссылка на сообщение Поделиться на другие сайты
Vince Опубликовано 7 августа, 2014 Автор Жалоба Поделиться Опубликовано 7 августа, 2014 Спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 7 августа, 2014 Жалоба Поделиться Опубликовано 7 августа, 2014 Спасибо! Вы сначала проверьте вдруг не заработает, а благодарите после. Цитата Ссылка на сообщение Поделиться на другие сайты
drakulitkas Опубликовано 7 августа, 2014 Жалоба Поделиться Опубликовано 7 августа, 2014 Господа хорошие) поделитесь строками вариантов товара выпадающим списком что бы при смене варианта и цена менялась. Спасибо заранее!еще бы менялось фото, описание, характеристики и отзывы... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 7 августа, 2014 Жалоба Поделиться Опубликовано 7 августа, 2014 еще бы менялось фото, описание, характеристики и отзывы...Вы хоть сами понимаете что пишите? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 7 августа, 2014 Жалоба Поделиться Опубликовано 7 августа, 2014 еще бы менялось фото, описание, характеристики и отзывы... А это все разное для вариантов???Нафига такие посты писать? Зачем вообще нужны товары, у которых все разное? Какой в этом смысл? Обьясните, я просто не понимаю, ЗАЧЕМ ЭТО???? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 7 августа, 2014 Жалоба Поделиться Опубликовано 7 августа, 2014 Если у вариантов ОДНОГО товара НЕТ ничего общего - то это - НЕ ВАРИАНТЫ ОДНОГО ТОВАРА Цитата Ссылка на сообщение Поделиться на другие сайты
Vince Опубликовано 7 августа, 2014 Автор Жалоба Поделиться Опубликовано 7 августа, 2014 Все работает нормально только что увидел что старая цена отображается даже если 0грн как ее убрать? Цитата Ссылка на сообщение Поделиться на другие сайты
XIIIcool Опубликовано 7 августа, 2014 Жалоба Поделиться Опубликовано 7 августа, 2014 для этого есть if (если) посмотрите в гугле php ifps просто посмотреть как устроена симпла и можно сделать всё что захочешь, главное чуть чуть думать Цитата Ссылка на сообщение Поделиться на другие сайты
drakulitkas Опубликовано 9 августа, 2014 Жалоба Поделиться Опубликовано 9 августа, 2014 Вы хоть сами понимаете что пишите?Ну например возьмем процессор для PC, он поставляется в заводской упаковке без излишеств (ОЕМ) а есть и в красочной упаковке с разными фишками инструкциями, до ПО, возможно даже с кулером и т.д. (BOX).Вот тут товар один, название одно, возможно и характеристики одни, а фото и комплектность разная, соответственно и цена разная, поэтому для кого-то это неприемлемо а для кого-то нужно, все зависит от сферы деятельности ИМ. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 9 августа, 2014 Жалоба Поделиться Опубликовано 9 августа, 2014 Прочитайте первый пост. Моего решения вполне хватает чтобы решить задачу топикстартера. Цитата Ссылка на сообщение Поделиться на другие сайты
Sain Опубликовано 9 августа, 2014 Жалоба Поделиться Опубликовано 9 августа, 2014 удалено Цитата Ссылка на сообщение Поделиться на другие сайты
Sain Опубликовано 9 августа, 2014 Жалоба Поделиться Опубликовано 9 августа, 2014 <!-- Выбор варианта товара --> <form class="variants" action="/cart"> <!-- ПОМЕНЯНО --> <select name="variant" {if $product->variants|count==1 && !$product->variant->name}style='display:none;'{/if}> {foreach $product->variants as $v} <option value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"{/if} price="{$v->price|convert}"> {$v->name} </option> {/foreach} </select> <div class="price"> <strike> {if $product->variant->compare_price > 0} {$product->variant->compare_price|convert} {/if} </strike> <span>{$product->variant->price|convert}</span> <i>{$currency->sign|escape}</i> </div> <!-- ПОМЕНЯНО (The End)--> <input type="submit" class="button" value="в корзину" data-result-text="добавлено"/> </form> <!-- Выбор варианта товара (The End) --> Цитата Ссылка на сообщение Поделиться на другие сайты
Sain Опубликовано 9 августа, 2014 Жалоба Поделиться Опубликовано 9 августа, 2014 Скрипт: <script> $(function() { // Выбор вариантов $('select[name=variant]').change(function() { price = $(this).find('option:selected').attr('price'); compare_price = ''; if(typeof $(this).find('option:selected').attr('compare_price') == 'string') compare_price = $(this).find('option:selected').attr('compare_price'); $(this).find('option:selected').attr('compare_price'); $(this).closest('form').find('span').html(price); $(this).closest('form').find('strike').html(compare_price); return false; }); }); </script> Цитата Ссылка на сообщение Поделиться на другие сайты
drakulitkas Опубликовано 9 августа, 2014 Жалоба Поделиться Опубликовано 9 августа, 2014 Прочитайте первый пост. Моего решения вполне хватает чтобы решить задачу топикстартера.Согласен, его задача решена.Приведу другой пример, компьютерная мышка белая и красная, характеристики одни, цена одна, а клиенту на цвет хочется глянуть, сравнить.Есть два варианта: в галерею фото добавить мышь и белого и красного цвета или делать 2 разных товара, т.е. создаешь копию красной мышки и меняешь там фото мышки на белый цвет. (в названии отмечаешь)Вот тут бы и пригодилось бы смена фото при смене варианта, я имел ввиду это. Цитата Ссылка на сообщение Поделиться на другие сайты
Vince Опубликовано 10 августа, 2014 Автор Жалоба Поделиться Опубликовано 10 августа, 2014 Скрипт: <script> $(function() { // Выбор вариантов $('select[name=variant]').change(function() { price = $(this).find('option:selected').attr('price'); compare_price = ''; if(typeof $(this).find('option:selected').attr('compare_price') == 'string') compare_price = $(this).find('option:selected').attr('compare_price'); $(this).find('option:selected').attr('compare_price'); $(this).closest('form').find('span').html(price); $(this).closest('form').find('strike').html(compare_price); return false; }); }); </script> Да ноль теперь убрался но цена не обновляетсяпри смене варианта Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 августа, 2014 Жалоба Поделиться Опубликовано 10 августа, 2014 Да ноль теперь убрался но цена не обновляетсяпри смене вариантаНашли кого слушать. Там полностью код для html не правильный. Цитата Ссылка на сообщение Поделиться на другие сайты
Vince Опубликовано 10 августа, 2014 Автор Жалоба Поделиться Опубликовано 10 августа, 2014 Нашли кого слушать. Там полностью код для html не правильный.подскажите решение пожалуйста. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 августа, 2014 Жалоба Поделиться Опубликовано 10 августа, 2014 подскажите решение пожалуйста.Используйте решение то которое я дал, а для того чтобы не выводилась цена с нулем сделайте проверку в html:<div class="prc-old"> {if $product->variant->compare_price} {$product->variant->compare_price|convert} {$currency->sign|escape} {/if} </div> и вот это data-compare-price="{$v->compare_price|convert} {$currency->sign|escape}" измените на:data-compare-price="{if $product->variant->compare_price}{$v->compare_price|convert} {$currency->sign|escape}{/if}" Цитата Ссылка на сообщение Поделиться на другие сайты
Vince Опубликовано 10 августа, 2014 Автор Жалоба Поделиться Опубликовано 10 августа, 2014 Используйте решение то которое я дал, а для того чтобы не выводилась цена с нулем сделайте проверку в html: <div class="prc-old"> {if $product->variant->compare_price} {$product->variant->compare_price|convert} {$currency->sign|escape} {/if} </div> и вот это data-compare-price="{$v->compare_price|convert} {$currency->sign|escape}" измените на: data-compare-price="{if $product->variant->compare_price}{$v->compare_price|convert} {$currency->sign|escape}{/if}" Спасибо Спасибки Спасибульки Теперь все как надо работает.благодаря Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
Sain Опубликовано 16 августа, 2014 Жалоба Поделиться Опубликовано 16 августа, 2014 Нашли кого слушать. Там полностью код для html не правильный.Можно узнать что именно не правильно? У меня на сайте работает без проблем. Цена меняется, старая не отображается как и хотелось. Версия симплы 2.3.6 Цитата Ссылка на сообщение Поделиться на другие сайты
partizzzzzan Опубликовано 17 августа, 2014 Жалоба Поделиться Опубликовано 17 августа, 2014 Вопрос тогда такой: Анимация при добавлении в корзину не работает! Цитата Ссылка на сообщение Поделиться на другие сайты
partizzzzzan Опубликовано 17 августа, 2014 Жалоба Поделиться Опубликовано 17 августа, 2014 Вопрос тогда такой: Анимация при добавлении в корзину не работает!Вопрос решен: скрипт по изменению цены надо было подключить после подключения скрипта аяксовой корзины Цитата Ссылка на сообщение Поделиться на другие сайты
partizzzzzan Опубликовано 17 августа, 2014 Жалоба Поделиться Опубликовано 17 августа, 2014 Еще один важный момент: если имеется в одном из вариантов старая цена, то при выборе селектом другого варианта у которого нет старой цены, то выводится 0,00 руб Попробовал решить проблему в самом скрипте добавив проверку значения compare_price if(s = Math.round(compare_price.replace(/[^\d]/gi, '')) != '0' ) $(this).closest('form.variants').find('.price-old').html(compare_price); else $(this).closest('form.variants').find('.price-old').html(''); Если что-то не так прошу поправить! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.