Проверка наличия товара перед формированием заказа, когда он уже в корзине
Добрый день!
Клиент жалуется, что в заказ попадают товары, которые стали неопубликованными(скажем, вчера товар снялся с публикации, а сегодня они его видят в утреннем заказе, хотя карточка товара недоступна). В анамнезе известно, что время жизни товаров в корзине увеличено относительно дефолтного. Все остальное базовое.
Получается, корзина не проверяет, опубликован ли все еще товар или нет? Или почему так происходит?
Подскажите, куда копать/смотреть? Если нужен кастомный класс — легко, только дайте намёк) Если же можно как-то иначе обыграть — скажем, «этот товар закончился» — тоже буду рад подключить/реализовать.
Спасибо.
Клиент жалуется, что в заказ попадают товары, которые стали неопубликованными(скажем, вчера товар снялся с публикации, а сегодня они его видят в утреннем заказе, хотя карточка товара недоступна). В анамнезе известно, что время жизни товаров в корзине увеличено относительно дефолтного. Все остальное базовое.
Получается, корзина не проверяет, опубликован ли все еще товар или нет? Или почему так происходит?
Подскажите, куда копать/смотреть? Если нужен кастомный класс — легко, только дайте намёк) Если же можно как-то иначе обыграть — скажем, «этот товар закончился» — тоже буду рад подключить/реализовать.
Спасибо.
Комментарии: 4
Делаем кастомный класс для корзины по этой инструкции docs.modx.pro/komponentyi/minishop2/razrabotka/sluzhbyi/podklyuchenie
А дальше переопределяешь __construct как душе угодно
А дальше переопределяешь __construct как душе угодно
Спасибо большое!!!
дополнение к комменту выше
function __construct(miniShop2 & $ms2, array $config = array())
{
parent::__construct($ms2, $config);
foreach ($this->cart as $k => $v) {
if (!empty($v['id']) AND !$this->modx->getCount('msProduct', ['id' => $v['id'], 'published' => 1])) {
unset($this->cart[$k]);
}
}
}
@Володя супер, благодарю.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.