Всем доброго времени суток. Столкнулся с проблемой получения окончательной цены для товара либо торгового предложения с учетом всех скидок.
Перепробовал кучу методов из документации остановился на таком варианте:
Код |
---|
CModule::IncludeModule("catalog");
CModule::IncludeModule("iblock");
// get price type code
$rsDb = CCatalogGroup::GetList(array(),array(),array(),array(),array());
while ($priceType = $rsDb->GetNext())
{
$arPriceTypeCode[] = $priceType["NAME"];
}
//get price type
$arPriceType = CIBlockPriceTools::GetCatalogPrices(1,$arPriceTypeCode);
// get product list
$rsDb = CIBlockElement::GetList(array(),array("ID" => $productID,"ACTIVE" =>"Y"),false,false,array("*"));
if ($product = $rsDb->GetNext())
{
$arProd = $product;
}
// get discounts
$priceWithDiscount = CIBlockPriceTools::GetItemPrices(1,$arPriceType,$arProd,true);
|
Но метод "CIBlockPriceTools::GetItemPrices" возвращает пустой массив. Все данные выборки до этого метода корректны. Видимо что-то передаю не так в саму функцию... Подскажите пожалуйста начинающему кодеру на Битриксе как правильнее сделать выборку, если входные данные приходят ajax'ом:
- id продукта или торгового предложения
- количество
- получаю уже в коде id авторизованного юзера.
Всем заранее спасибо за любую помощь