Нашел эту тему - думаю у меня похожая проблема.
Задача стояла такая: надо найти товар с минимальной ценой в разделе (и подразделах этого раздела если они есть) и вывести значение этой цены. Использовал такой код:
Код |
---|
$dbElements = CIBlockElement::GetList(array('CATALOG_PRICE_1'=>'ASC'),
array(
'IBLOCK_TYPE' =>"catalog",
'IBLOCK_ID' => 6,
"SECTION_ID"=>$section['ID'], // ид раздела - он считывается заранее методом CIBlockSection - указал ниже
"ACTIVE"=> "Y"
)
,false
,array('nTopCount'=>1)
,array('ID', 'IBLOCK_ID', 'IBLOCK_TYPE', 'SECTION_ID', 'CATALOG_GROUP_1')
);
$minElement = $dbElements->GetNext();
echo $minElement['CATALOG_PRICE_1']; |
Категории считываю таким методом:
Код |
---|
$arFilter = Array('IBLOCK_TYPE'=>"catalog", "ACTIVE"=>"Y", 'GLOBAL_ACTIVE'=>"Y", "CNT_ACTIVE"=>"Y", "ELEMENT_SUBSECTIONS"=>"Y", "CNT_ALL"=>"N", ">=DEPTH_LEVEL" => 0);
$rsSections = CIBlockSection::GetList(Array("SORT"=>"ASC" ), $arFilter, true);
while($ar_result = $rsSections->GetNext()) |
Все отлично выводится и считается, за исключением того, что не выводится минимальная цена товара в первой по списку категории. Я думаю проблема в GetNext - типа переходит сразу ко второй...
Может я не прав - я не знаю. Кто может дать ответ в чем проблема - подскажите пожалуйста. Заранее спасибо.
P.S.Если что непонятно написал - могу объяснить поподробнее.
PPS Кстати забыл указать - $ar_result потом преобразовывается в $section через foreach