К содержанию

Добавить товар только один раз.

Ребят, подскажите, как реализовать, чтобы товар можно было добавить ток один раз? Максимальное число товара 1. Чтобы нельзя было купить 2шт.
Александр
Александр
30 апреля 2017, 18:53
modx.pro
3 199
Реклама

Комментарии: 7

Евгений Webinmd
Евгений Webinmd Эксперт
30 апреля 2017, 23:23
тут где-то есть решения для изменения стилей после добавления заказа в корзину (поищите по блогам), можно просто прятать кнопку по такому же принципу, либо заменять ей на картинку, либо делать не активной и т.д.
Вот ссылка на пример
Николай Каленников
01 мая 2017, 05:06
Или вот так можно — плагин на событие перед добавлением в корзину 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' :''}/>
Чанк лучше переподключить свой, чтобы при обновлении изменения не затерлись.
    Александр
    Александр Старожил
    01 мая 2017, 09:54
    Спасибо большое помогло!
    Семён Кудрявцев
    Семён Кудрявцев Проверенный
    01 мая 2017, 06:20
    У miniShop2 есть системная настройка — ms2_cart_max_count (точнее её по-умолчанию нет, но логика её работы предусмотрена) — так вот она делает всё, что Вам нужно. Просто создайте её и укажите значение 1, после этого добавить в корзину можно будет только один товар.
      Александр
      Александр Старожил
      01 мая 2017, 09:54
      Хорошо, гляну
        Ksu
        Ksu Старожил
        10 августа 2017, 08:13
        Эта настройка запрещает добавление больше определенного количества только одного товара. То есть если поставить ms2_cart_max_count=1, то можно добавить Товар1, Товар 2, Товар 3 и т.д. по одной единице. Как можно сделать, чтобы ограничить количество разного товара в корзине? Мне требуется ограничить любой товар в корзине единицей.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        7