Добавить товар только один раз.
Ребят, подскажите, как реализовать, чтобы товар можно было добавить ток один раз? Максимальное число товара 1. Чтобы нельзя было купить 2шт.
Комментарии: 7
тут где-то есть решения для изменения стилей после добавления заказа в корзину (поищите по блогам), можно просто прятать кнопку по такому же принципу, либо заменять ей на картинку, либо делать не активной и т.д.
Вот ссылка на пример
Вот ссылка на пример
Спасибо
Или вот так можно — плагин на событие перед добавлением в корзину msOnBeforeAddToCart
//перед добавлением в Корзину
if ($modx->event->name != 'msOnBeforeAddToCart') {
return;
}
if ($product->get('id') != "id товара") {
return;
}
$tmp = $cart->get();
foreach ($tmp as $tm) {
if ($tm['id'] == "id товара") {
$modx->event->output('...........Сообщение об ошибке...........'); //прерывает добавление
return;
}
}
И в корзине блокируем изменение элемента с количеством товара — в чанке tpl.msCart 43 строка<input type="number" name="count" value="{$product.count}"
class="input-sm form-control" {$product.id == 'id товара' ? 'readonly' :''}/>
Чанк лучше переподключить свой, чтобы при обновлении изменения не затерлись.
Спасибо большое помогло!
У miniShop2 есть системная настройка — ms2_cart_max_count (точнее её по-умолчанию нет, но логика её работы предусмотрена) — так вот она делает всё, что Вам нужно. Просто создайте её и укажите значение 1, после этого добавить в корзину можно будет только один товар.
Хорошо, гляну
Эта настройка запрещает добавление больше определенного количества только одного товара. То есть если поставить ms2_cart_max_count=1, то можно добавить Товар1, Товар 2, Товар 3 и т.д. по одной единице. Как можно сделать, чтобы ограничить количество разного товара в корзине? Мне требуется ограничить любой товар в корзине единицей.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.