Минимальное количество товара в miniShop2
Всем привет! Столкнулся с такой проблемой, необходимо указать минимальное количество товара, скажем 5 штук, но сделать это так, чтобы покупатель не смог поставить меньше? Есть ли готовые решения?
Комментарии: 4
Задача решается путем реализации 2х составляющих:
1. Js (идентификатор и алерт заменить на подходящие себе):
2. Плагин на события msOnBeforeAddToCart и msOnBeforeChangeInCart
<?php
1. Js (идентификатор и алерт заменить на подходящие себе):
$( ".ms2_form input[name='count']" ).change(function() {
$.jGrowl("Минимальное количество товаров для заказа - 5 шт", {theme: 'error', position: 'center'});
$(this).val("5");
});
2. Плагин на события msOnBeforeAddToCart и msOnBeforeChangeInCart
<?php
if ($modx->event->name = 'msOnBeforeAddToCart' || $modx->event->name = 'msOnBeforeChangeInCart') {
$values = & $modx->event->returnedValues;
if ($values['count'] < 5) {
$values['count'] = 5;
}
}
— как-то так.
А как js изменить, если у меня там уже прописано:
<script type="text/javascript">
$('#msCart input[name="count"]').change(function(){
var count = $(this).val();
var singlePrice = parseInt($(this).closest('.tab_row').children(".tab_sum").text());
$(this).closest('.tab_row').children(".tab_pr").children("span").html(count * singlePrice);
$.jGrowl("Минимальное количество товаров для заказа - 5 шт", {theme: 'error', position: 'center'});
$(this).val("5");
});
</script>
Сейчас ошибка не даёт ни добавить 1 товар, ни уменьшить на 1. Про уменьшить так в принципе и надо, а добавлять должно и по одному, но дело в том, что нужно ещё менять на лету цены со скидкой, а не только общую цену. В JS ноль(((
Упс, извиняюсь, забыл дописать условие:
$( ".ms2_form input[name='count']" ).change(function() {
if ($(this).val() < 5) {
$.jGrowl("Минимальное количество товаров для заказа - 5 шт", {theme: 'error', position: 'center'});
$(this).val("5");
}
});
Не подскажите, как выбрать только одну единицу из всего ассортимента?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.