Привет всем!
Пытаюсь вывести минимальное значение свойства
"PROPERTY_SIZE" (число) всех элементов в разделе. Значение собственно получаю, но не много не так работает логика. Делаю выборку:
$arOrder = array("sort" => "asc");
$arFilter = array("IBLOCK_ID" => $arSection["IBLOCK_ID"], "SECTION_ID" => $arSection["ID"], "GLOBAL_ACTIVE" => "Y", "ACTIVE" => "Y", "INCLUDE_SUBSECTIONS" => "Y", array(
"LOGIC" => "OR",
array("PROPERTY_DESTINATION_VALUE" => "TOP", "PROPERTY_DESTINATION_VALUE" => "MIDDLE", "PROPERTY_DESTINATION_VALUE" => "BOTTOM"),
),
"!PROPERTY_SIZE" => false
);
$arSelect = array("IBLOCK_ID", "ID", "NAME", "PROPERTY_SIZE");
$res = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => 1), $arSelect);
if ($ob = $res->Fetch())
$arSection["MIN_SIZE"] = $ob["PROPERTY_SIZE_VALUE"];
В разделе у элементов может быть одно значение
"TOP, MIDDLE, BOTTOM" свойства
"PROPERTY_DESTINATION_VALUE"
В первом разделе 10 элементов со значением свойства (5 - TOP, 3 -MIDDLE, 2 - BOTTOM);
Во втором разделе 10 элементов со значением свойства (8 - MIDDLE, 2 - BOTTOM):
В третьем разделе 5 элементов со значением свойства (5 - BOTTOM):
Как правильно составить фильтр, чтоб для первого раздела выборка прошла по значению TOP, для второго раздела по значению MIDDLE и для третьего по значению BOTTOM, т.е. чтоб был приоритет выборки 1 - TOP, 2 - MIDDLE, 3 - BOTTOM