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