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

OnGetDiscount

Описание и параметры

mixed
функция-обработчик(
	int intProductID,
	int intIBlockID,
	array arCatalogGroups,
	array arUserGroups,
	string strRenewal,
	string siteID,
	array arDiscountCoupons,
	bool boolSKU,
	bool boolGetIDS
);

OnGetDiscount - событие, вызываемое в методе CCatalogDiscount::GetDiscount. Позволяет заменить стандартный метод выбора скидок.

Параметры

ПараметрОписание
intProductID Идентификатор товара.
intIBlockID Идентификатор инфоблока.
arCatalogGroups Массив идентификаторов типов цен, для которых необходимо вернуть скидки.

Если значение параметра - отрока, то в обработчике события в этом случае необходимо привести строку к массиву:
if (!is_array($arCatalogGroups))
	$arCatalogGroups = array($arCatalogGroups);
arUserGroups Массив групп, к которым принадлежит пользователь.

Если значение параметра - отрока, то в обработчике события в этом случае необходимо привести строку к массиву:
if (!is_array($arCatalogGroups))
	$arUserGroups = array($arCatalogGroups);
strRenewal Флаг "Продление подписки".
siteID Идентификатор сайта.
arDiscountCoupons Массив купонов, которые влияют на выборку скидок. Если задано значение false, то массив купонов будет взят из CCatalogDiscountCoupon::GetCoupons. Если будет передан пустой массив купонов, то купонные скидки учитываться не будут вообще.
boolSKU Определяет нужно ли выполнять проверку (true), что товар является торговым предложением, или проверку не проводить (false).

Если параметр принимает значение true и товар является торговым предложением, то выборка скидок будет сделана и для основного товара.
boolGetIDS Параметр определяет возвращать только идентификаторы скидок (true) или полную информацию по скидкам (false).

Возвращаемое значение

В результате работы обработчика могут быть возвращены следующие значения:

  • true - обработчик ничего не сделал, будет выполнена работа метода CCatalogDiscount::GetDiscount;
  • false - возникла ошибка, работа метода прерывается;
  • массив, где каждый элемент - это идентификатор скидки (если boolGetIDS равен true) или ассоциативный массив (boolGetIDS принимает значение false) с ключами:
    • ID - код записи;
    • TYPE - тип записи;
    • SITE_ID - сайт;
    • ACTIVE - флаг активности;
    • ACTIVE_FROM - дата начала действия скидки;
    • ACTIVE_TO - дата окончания действия скидки;
    • RENEWAL - флаг "Скидка на продление";
    • NAME - название скидки;
    • SORT - индекс сортировки;
    • MAX_DISCOUNT - максимальная величина скидки;
    • VALUE_TYPE - тип скидки (P - в процентах, F - фиксированая величина);
    • VALUE - величина скидки;
    • CURRENCY - валюта;
    • PRIORITY - приоритет применимости;
    • LAST_DISCOUNT - флаг "Прекратить дальнейшее применение скидок";
    • COUPON - код купона;
    • COUPON_ONE_TIME - тип купона (Y - купон на 1 позицию заказа, O - купон на 1 заказ, N - многоразовый купон);
    • COUPON_ACTIVE - флаг активности купона;
    • UNPACK - строка фильтра, который проверяет попадание товара под скидку.


© «Битрикс», 2001-2024, «1С-Битрикс», 2024