Документация для разработчиков
Темная тема

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