Небольшая, но весьма полезная функция получения минимальной цены среди торговых предложений товара в Битрикс:
/* * функция получения минимальной цены среди торговых предложений товара с id = $item_id */ function get_offer_min_price($item_id){ $ret = 0; CModule::IncludeModule("iblock"); CModule::IncludeModule("catalog"); // ID инфоблока товаров $IBLOCK_ID = 7; $ID = $item_id; $arInfo = CCatalogSKU::GetInfoByProductIBlock($IBLOCK_ID); if (is_array($arInfo)) { $res = CIBlockElement::GetList(Array("PRICE"=>"asc"), array('IBLOCK_ID'=>$arInfo['IBLOCK_ID'], 'ACTIVE'=>'Y', 'PROPERTY_'.$arInfo['SKU_PROPERTY_ID'] => $ID), false, false, array('ID', 'NAME'))->GetNext(); if ($res){ $ret = GetCatalogProductPrice($res["ID"], 1); if ($ret['PRICE']){ $ret = $ret['PRICE']; } } } return $ret; }
Второй параметр у функции:
GetCatalogProductPrice($res["ID"], 1);
это ID типа цены.
Если же мы хотим, чтобы цена была с отступами тысячей и округлённая (выглядит так симпатичнее):
то можно воспользоваться округлением:
$ret = round($ret);
и реализацией отступов:
$ret = number_format($ret, 0, '', ' ' );