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

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::GetCoupons5.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>&quot;;
	print_r($arPrice);
	echo &quot;</pre>";
}
?>


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