Событие перед добавлением товара в корзину
Пример обработчика события OnSaleBasketItemBeforeSaved (аналог в старом ядре - OnBeforeBasketAdd)
// Добавляем обработчик события \Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSaleBasketItemBeforeSaved', 'partnerBasketRestrictions'); function partnerBasketRestrictions(\Bitrix\Main\Event $event) { $basketItem = $event->getParameter("ENTITY"); // Объект добавляемой позиции корзины $productId = $basketItem->getProductId(); $price = $basketItem->getPrice(); $basket = $basketItem->getBasket(); // Объект корзины foreach ($basket as $basketItem) { // Перебор корзины, вместе с добавляемой позицией $productId = $basketItem->getProductId(); $price = $basketItem->getPrice(); } // Пример вывода ошибки return new \Bitrix\Main\EventResult( \Bitrix\Main\EventResult::ERROR, new \Bitrix\Sale\ResultError('Нельзя добавить этот товар', 'ERROR_CODE'), 'sale' ); }
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.