Добрый день!
События для работы с корзиной (OnBasketAdd, OnBasketUpdate, etc...) перестали поддерживаться и переходят плавно под ядро D7, в связи с этим возникают вопросы по их работе.
Документация по ссылке не раскрыла такие моменты, например как:
Отлавливать добавление/удаление в корзину.
Собственно вопросы:
Как фигурировать этими событиями добавления и удаления?
Как в событии OnSaleBasketItemEntitySaved получить объект Basket (\Bitrix\Sale\Basket) у $basketItem?
Просмотр исходников ответа не дал.
Простая логика, что требуется
Например проверять при добавлении удалении количество товара и, если кол-во нужного товара равно переменной, то добавить (???) или удалить (???)
Листинг, php_interface/init.php
События для работы с корзиной (OnBasketAdd, OnBasketUpdate, etc...) перестали поддерживаться и переходят плавно под ядро D7, в связи с этим возникают вопросы по их работе.
Документация по ссылке не раскрыла такие моменты, например как:
Отлавливать добавление/удаление в корзину.
Собственно вопросы:
Как фигурировать этими событиями добавления и удаления?
Как в событии OnSaleBasketItemEntitySaved получить объект Basket (\Bitrix\Sale\Basket) у $basketItem?
Просмотр исходников ответа не дал.
Простая логика, что требуется
Например проверять при добавлении удалении количество товара и, если кол-во нужного товара равно переменной, то добавить (???) или удалить (???)
Листинг, php_interface/init.php
| Код |
|---|
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleBasketItemEntitySaved',
'OnSaleBasketItemEntitySavedHandler'
);
function OnSaleBasketItemEntitySavedHandler(\Bitrix\Main\Event $event)
{
$needleQuantity = 2;
$basketItem = $event->getParameter('ENTITY');
if($basketItem->getQuantity() == $needleQuantity)
//@TODO add/delete item from basket
}
|