Автор: Александр Жирков
OnBeforeBasketDelete не работает даже при установленной галочке Включить обработку устаревших событий, т.к. для работы с корзиной вообще другой класс используется (сейчас речь о стандартном компоненте sale.basket.basket).
Аналогичное событие в d7 OnBeforeSaleBasketItemEntityDeleted, пример использования:
[CODE]Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnBeforeSaleBasketItemEntityDeleted',
'OnBeforeSaleBasketItemEntityDeletedHandler'
);
function OnBeforeSaleBasketItemEntityDeletedHandler(Main\Event $event) {
return new Main\EventResult(
Main\EventResult::ERROR,
new \Bitrix\Sale\ResultError('Нельзя удалить этот товар', 'ANY_ERROR_CODE'),
'sale' );}[/CODE]