setApplyByProduct
boolean public static \Bitrix\Sale\DiscountCouponsManager::setApplyByProduct( array $product, array $couponsList, boolean $oldMode = false );
Метод сохраняет в памяти информацию о применении купонов к товару. Метод статический и используется в модуле Торговый каталог.
Параметры
| Параметр | Описание | Версия |
|---|---|---|
| $product | Массив параметров товара. | |
| $couponsList | Массив купонов. | |
| $oldMode | Если параметр принимает true, то будет использоваться режим совместимости со старыми пользовательскими провайдерами. |
Примеры
<?php
use Bitrix\Main\Loader;
use Bitrix\Sale\DiscountCouponsManager;
if (!Loader::includeModule('sale'))
{
throw new RuntimeException('Модуль sale не установлен');
}
$coupon = 'SALE-COUPON-CODE'; // Код существующего купона
$product = [
'MODULE_ID' => 'catalog',
'PRODUCT_ID' => 100, // Идентификатор существующего товара
'BASKET_ID' => 'basket_item_1', // Код позиции корзины
];
DiscountCouponsManager::init();
if (!DiscountCouponsManager::add($coupon))
{
throw new RuntimeException('Не удалось добавить купон');
}
echo DiscountCouponsManager::setApplyByProduct($product, [$coupon])
? 'Купон применен к товару'
: 'Купон не применен';
© «Битрикс», 2001-2026, «1С-Битрикс», 2026