Может быть кому-то будет полезным.
Была поставлена задача:
Цитата |
---|
Вывести список новостей, отсортированных по одному из свойств ИБ ("DUTYDATE"). При этом, нужно выводить на 2-х разных страницах элементы со значением данного поля больше-равно текущей даты и меньше текущей даты... Вывод новостей настроен через компонент "bitrix:news.list". |

Решение:
1) Задаем свойство ИБ DUTYDATE
2) На странице вывода компонента для задания фильтрации элементов с DUTYDATE >= текущей задаем глобальный массив:
Код |
---|
$GLOBALS['filter_ex'] = array('>=PROPERTY_DUTYDATE' => date('Y-m-d h:i:s')); |

Главное не забывать, что свойство должно писаться именно в виде: PROPERTY_DUTYDATE, а не просто DUTY_DATE!!! Лично у меня только из-за этого на решение задачи ушло ооочень много времени....
3)Указываем сортировку по полю DUTYDATE:
Код |
---|
"SORT_BY1" => "PROPERTY_DUTYDATE",
"SORT_ORDER1" => "ASC", |
Опять же не забываем про ключевое слово "PROPERTY".
Добавить это поле можно не только в режиме php, но и просто указав в параметрах компонента Поле для первой сортировки новостей:
Другое, а в поле под ним указываем наше свойство
PROPERTY_DUTYDATE.
4) Указываем переменную фильтрации:
Код |
---|
"FILTER_NAME" => "filter_ex", |
указывается просто имя переменной. Без Globals, без доллара....
Данное поле можно точно также указать и в параметрах компонента: для этого в поле
Фильтр: без всяких кавычек, долларов и т.п., указываем нашу переменную-массив:
filter_ex.
Для того чтобы выводить все элементы меньше текущей даты массив фильтра будет иметь вид:
Код |
---|
$GLOBALS['filter_ex'] = array('<PROPERTY_DUTYDATE' => date('Y-m-d h:i:s')); |