Пишу скрипт в котором нужго получить максимум информации, но главное цену товара, но не пойму почему она не отображается. Перепробовал разные методы,
$price = CPrice::GetBasePrice($item["ID"]);
CCatalogProduct::GetOptimalPrice($item["ID"]);
$item["PRICE"]... Цены не выводятся только для товаров с предложениями. Вот фрагмент кода.
Буду благодарен за любой пинок в нужном направлении.
$price = CPrice::GetBasePrice($item["ID"]);
CCatalogProduct::GetOptimalPrice($item["ID"]);
$item["PRICE"]... Цены не выводятся только для товаров с предложениями. Вот фрагмент кода.
| Код |
|---|
foreach ($arResult as $item) {
if(CCatalogSku::IsExistOffers($item["ID"])) {
$res = CIBlockElement::GetByID($item["ID"]);
if($ar_res = $res->GetNext()) {
if(isset($ar_res['IBLOCK_ID']) && $ar_res['IBLOCK_ID']) {
$offers = CIBlockPriceTools::GetOffersArray(array(
'IBLOCK_ID' => $ar_res['IBLOCK_ID'],
'HIDE_NOT_AVAILABLE' => 'Y',
'CHECK_PERMISSIONS' => 'Y'
), array($item["ID"]), null, null, null, null, null, null, array(), null, null);
foreach($offers as $offer) {
$debug[] = $offer;
$prices = CCatalogProduct::GetOptimalPrice($offer['ID']);
if(isset($prices['PRICE'])) {
$price = $prices['PRICE']['PRICE'];
}
}
}
}
} else {
$prices = CCatalogProduct::GetOptimalPrice($item["ID"]);
if(!$prices || !isset($prices['PRICE'])) {
return false;
}
if(isset($prices['CURRENCY'])) {
$currency_code = $prices['CURRENCY'];
}
} |