Что говорить, делать фильтры по разным свойствам элементов приходится довольно часто, даже на несложных проектах. Опишу простой пример создания фильтра по свойству типа список. Допустим, у нас есть инфоблок с элементами, на сайт через компонент нужно вывести только те, которые помечены как избранные.
Для этого в настройках инфоблока создаём специальное свойство типа список, даём имя 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"
.
Собственно, его можно дописать через код компонента, а можно в режиме правки в окне с настройками компонента.
Комментарии