Фильтация элементов по значению свойства при выводе из инфоблока
17 Июня 2015

Фильтация элементов по значению свойства при выводе из инфоблока

Что говорить, делать фильтры по разным свойствам элементов приходится довольно часто, даже на несложных проектах. Опишу простой пример создания фильтра по свойству типа список. Допустим, у нас есть инфоблок с элементами, на сайт через компонент нужно вывести только те, которые помечены как избранные.

Для этого в настройках инфоблока создаём специальное свойство типа список, даём имя FAVORITES, делаем свойство флажком и задаём ему значение YES.

Далее в шаблоне перед вызовом компонента, который выводит эти элементы из инфоблока создаём массив с фильтром.

<?$GLOBALS["arrFilter"] = array("PROPERTY_FAVORITES_VALUE"=>"YES");?>

Чтобы получить фильтр по значению свойства типа список нужно использовать шаблон PROPERTY_< PROPERTY_CODE>_VALUE, где < PROPERTY_CODE> и есть имя нужного свойства. Отсюда и получилось array("PROPERTY_FAVORITES_VALUE"=>"YES");

Далее остаётся лишь записать в параметр FILTER_NAME в компоненте имя созданного фильтра arrFilter: "FILTER_NAME" => "arrFilter".

Собственно, его можно дописать через код компонента, а можно в режиме правки в окне с настройками компонента.

Комментарии

Использую в своей работе