Чтоб не выводить элементы, котороые не подпадают под определенные условия, исполуется фильтрация на входе в компонент.
$GLOBALS["arrFilter"] = array("!PROPERTY_PAUSE_VALUE" => "да");
$APPLICATION->IncludeComponent( ...
Компонент выведет элементы, у которых свойство
PAUSE типа список будет не равно "да".
- Пример 2 с более сложной логикой фильтрации:
$GLOBALS["arrFilter"] = array(<="PROPERTY_LIMIT" => 30);
$APPLICATION->IncludeComponent( ...
Компонент выведет элементы, у которых свойство
LIMIT типа число меньше или равно 30.
$GLOBALS['arrFilterN'] = array(
array(
"LOGIC" => "OR",
array("PROPERTY_PAUSE_VALUE" => "да"),
array('SORT' => '500')
)
);
В первый массив вложен 1 подмассив. Возникает вопрос — зачем вкладывать один подмассив, ведь для сравнения нужно как минимум два.
Дело в том, что второй подмассив по умолчанию имеется ввиду "IBLOCK_ID" => $IBLOCK_ID, т.е. ограничение по текущему ИБ. Он просто опущен в данном примере.
Если подмассив не вкладывать в массив, а просто прописать, то код выведет элементы всех существующих ИБ попавших под условие. Значит вкладываем и имеем ввиду текущий ИБ.