При разработке функционала в 1С-Битрикс часто требуется как-то по особому настроить фильтр компонента, без вывода стандартного фильтра от Битрикса. Я часто сталкивался с такой задачей, где нужно было в зависимости от страницы выводить элементы по определённым значениям свойств.
Делается всё достаточно просто нужно сделать, это выбрать компонент новости и выбрать откуда будем выводить записи и создаём копию шаблона!
Второе указываем имя фильтра в настройках компонента, можно не указывать если у вас будут свои особые настройки в компоненте.
Комментируем вывод стандартного фильтра в настройках компонента bitrix:news Таким образом /* тут код стандартного фильтра */
Задаём глобальный фильтр с помощью global и настраиваем его таким образом.
Код PHP #1
<? global $arrFilter; // указываем что переменная глобальная
$arrFilter = array(
array('PROPERTY_имя свойства_VALUE' => 'значение'),
array('>=PROPERTY_свойство дата' => date('Y-m-d', time()))
);?>
Примерно так это будет выглядеть редакторе компонента bitrix:news
Редактировать нужно не Список новостей (bitrix:news.list), а именно сам компонент Новости (bitrix:news)
Данный фильтр фильтрует по какому-то значению свойству, а также показывает элементы у которых свойство типа дата больше чем текущая дата.
Здесь можно использовать как указанное из настроек компонента имя фильтра $arParams["FILTER_NAME"], а можно указать свое имя фильтра, т.е нашу переменную arrFilter.
Комментарии (46)