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