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
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.