Иногда необходимо вывести минимальную цену товара с торговыми предложениями в списке catalog.section. Реализовать это можно с помощью API битрикс.
<?if(is_array($arElement["OFFERS"]) && !empty($arElement["OFFERS"])){
//вывожу минимальную цену торгового предложения
if($arElement["PRODUCT"]["AVAILABLE"] == "Y") {?>
<?
$intIBlockID = 9; //ID инфоблока
$mxResult = CCatalogSKU::GetInfoByProductIBlock($intIBlockID);
if (is_array($mxResult)) {
$rsOffers = CIBlockElement::GetList(array("PRICE"=>"ASC"), array('IBLOCK_ID' => $mxResult['IBLOCK_ID'], 'PROPERTY_'.$mxResult['SKU_PROPERTY_ID'] => $arElement["ID"])
);
while ($arOffer = $rsOffers->GetNext()) {
// ВАЖНО! если торговое предложение активно
if ($arOffer["ACTIVE"] != "N"){
$ar_price = CPrice::GetBasePrice($arOffer["ID"], false, false);
//если установлены копейки (например "200.00 руб") то обрезаем строку до точки
echo "от <span>".substr($ar_price["PRICE"], 0, strrpos($ar_price["PRICE"], '.')). " руб.</span>";
break;
}
}
}
} else {
echo "Под заказ";
}
}