mail@vecdev.ru

Вывод минимальной цены торгового предложения

Иногда необходимо вывести минимальную цену товара с торговыми предложениями в списке 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 "Под заказ";
    }
}
Частный разработчик сайтов Vector Dev
Комментарии