Фильтрация на входе в компонент со сложной логикой

 • 
 •  Фильтрация на входе в компонент со сложной логикой

Чтоб не выводить элементы, котороые не подпадают под определенные условия, исполуется фильтрация на входе в компонент.

  • Простой пример 1:

$GLOBALS["arrFilter"] = array("!PROPERTY_PAUSE_VALUE" => "да");  
$APPLICATION->IncludeComponent( ...

Компонент выведет элементы, у которых свойство PAUSE типа список будет не равно "да".


  • Пример 2 с более сложной логикой фильтрации: 

$GLOBALS["arrFilter"] = array(<="PROPERTY_LIMIT" => 30);
$APPLICATION->IncludeComponent( ...

Компонент выведет элементы, у которых свойство LIMIT типа число меньше или равно 30.

  • Пример 3.

$GLOBALS['arrFilterN'] = array(
array(
"LOGIC" => "OR",
array("PROPERTY_PAUSE_VALUE" => "да"),
array('SORT' => '500')
       )
);
В первый массив сложен 1 подмассив. ВОзникает вопрос — зачем вкладывать один подмассив, ведь для сравнения нужно как минимум два.
Дело в том, что второй подмассив по умолчанию имеется ввиду "IBLOCK_ID" => $IBLOCK_ID, т.е. ограничение по текущему ИБ. Он просто опущен в данном примере.
Если подмассив не вкладывать в массив, а просто прописать, то код выведет элементы всех  существующих ИБ попавших под условие. Значит вкладываем и имеем ввиду текущий ИБ.  


⇐ Как найти слово или фразу в коде сайта    Как и что продавать в Черную Пятницу ⇒

А что вы думаете по этому поводу?

Возврат к списку