обработчик
AddEventHandler("catalog", "OnGetDiscountResult", array("mlifeHandlers","OnGetDiscountResult"));
class mlifeHandlers{
public static $COUPON_DISABLE = false;
public static function OnGetDiscountResult($res){
if(!self::$COUPON_DISABLE || empty($res)) return;
$arNewDiscounts = array();
foreach($res as $v){
if($v['COUPON']) continue;
$arNewDiscounts[] = $v;
}
$res = $arNewDiscounts;
}
}
|
в нужном месте при подключении компонента отключаем купоны
<?mlifeHandlers::$COUPON_DISABLE = true;?>
//вызов компонента
<?mlifeHandlers::$COUPON_DISABLE = false;?>
|
можно вызвать штатные методы... (примерно с 16.5.5)
\Bitrix\Sale\DiscountCouponsManager::freezeCouponStorage(); // блокировать хранилище купонов
|
\Bitrix\Sale\DiscountCouponsManager::unFreezeCouponStorage(); // разблокировать
|