Бывает ситуация, когда ограничений доставки не хватает, к примеру надо показать доставку только для выбранной группы пользователей или ограничить по сумме заказа.
Битрикс предлагает решение - надо только дополнить стандартный набор ограничений своими собственными. Для этого используется событие onSaleDeliveryRestrictionsClassNamesBuildList:
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler(
'sale',
'onSaleDeliveryRestrictionsClassNamesBuildList',
'myDeliveryRestrictions'
);
function myDeliveryRestrictions()
{
return new \Bitrix\Main\EventResult(
\Bitrix\Main\EventResult::SUCCESS,
array(
'\MyDeliveryRestriction' => '/path/to/your/class/restriction.php',
)
);
}