GetDiscountByPrice
Описание и параметры
bool CCatalogDiscount::GetDiscountByPrice( int productPriceID[, array arUserGroups = array()[, string renewal = "N"[, string siteID = false[, array arDiscountCoupons = false]]]] );
Метод вычисляет скидку на цену с кодом productPriceID товара для пользователя, принадлежащего группам пользователей arUserGroups. Нестатический метод.
Параметры вызова
Параметр | Описание | С версии |
---|---|---|
productPriceID | Код цены. | |
arUserGroups | Массив групп, которым принадлежит пользователь. Для текущего пользователя он возвращается методом $USER->GetUserGroupArray() | |
renewal | Флаг "Продление подписки". | |
siteID | Сайт (по умолчанию текущий). | 4.0.6 |
arDiscountCoupons | Массив купонов, которые влияют на выборку скидок. Если задано значение false, то массив купонов будет взят из CCatalogDiscountCoupon::GetCoupons | 5.1.0 |
Возвращаемые значения
Метод возвращает массив ассоциативных массивов скидок или false в случае ошибки. В массиве содержится ассоциативный массив параметров максимальной процентной скидки (если есть) и ассоциативный массив параметров максимальной фиксированной скидки (если есть).
Примеры использования
<? $dbPrice = CPrice::GetList( array("QUANTITY_FROM" => "ASC", "QUANTITY_TO" => "ASC", "SORT" => "ASC"), array("PRODUCT_ID" => $ID), false, false, array("ID", "CATALOG_GROUP_ID", "PRICE", "CURRENCY", "QUANTITY_FROM", "QUANTITY_TO") ); while ($arPrice = $dbPrice->Fetch()) { $arDiscounts = CCatalogDiscount::GetDiscountByPrice( $arPrice["ID"], $USER->GetUserGroupArray(), "N", SITE_ID ); $discountPrice = CCatalogProduct::CountPriceWithDiscount( $arPrice["PRICE"], $arPrice["CURRENCY"], $arDiscounts ); $arPrice["DISCOUNT_PRICE"] = $discountPrice; echo "<pre>"; print_r($arPrice); echo "</pre>"; } ?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024