Добавление только одного товара в корзину minishop2
Добавляется услуга в корзину, и она должна быть только одна, т.е. даже если она есть уже в корзине, при добавлении должна оставаться только одна.
ms2_cart_max_count не подходит, т.к. выдает ошибку.
Т.е. нужно что бы просто выводилось что услуга успешно добавлена, но в корзине была только 1 единица.
Подскажите как реализовать.
ms2_cart_max_count не подходит, т.к. выдает ошибку.
Т.е. нужно что бы просто выводилось что услуга успешно добавлена, но в корзине была только 1 единица.
Подскажите как реализовать.
Комментарии: 4
Нечетко поставлены условия.
Помимо услуги в корзине еще может быть другой товар или нет?
если нет, то вам наверно самое простое это плагин на msOnBeforeAddToCart и в нем вызывать метод clean обработчика корзины.
Если же в корзине может присутствовать другой товар то можно:
— плагин на msOnBeforeAddToCart и в нем удалять уже присутствующую в корзине услугу
— расширить обработчик корзины и поместить свою логику по работе с корзиной туда
Помимо услуги в корзине еще может быть другой товар или нет?
если нет, то вам наверно самое простое это плагин на msOnBeforeAddToCart и в нем вызывать метод clean обработчика корзины.
Если же в корзине может присутствовать другой товар то можно:
— плагин на msOnBeforeAddToCart и в нем удалять уже присутствующую в корзине услугу
— расширить обработчик корзины и поместить свою логику по работе с корзиной туда
Для решения помог плагин:
<?php
switch ($modx->event->name) {
case 'msOnChangeInCart':
$tmp = $cart->get();
$tmp[$key]['count'] = 1;
$cart->set($tmp);
break;
}
Вопрос, есть ли отличия в реализации: с помощью расширения обработчика корзины и плагина?
Подскажите куда вставить этот код чтоб заработало?)
Создайте новый плагин с любым именем, на вкладке системных событий поставьте галочку возле msOnChangeInCart, вставьте этот код, сохраните.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.