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-2025, «1С-Битрикс», 2025