В общем возникла необходимость добавить в новости фильтр по годам (кроме фильтров тематики и т.п.).
На странице добавлен компонент bitrix.news, в котором вместо catalog.filter добавил catalog.smart.filter.
Теперь помимо фильтра по обычным свойствам нужно еще добавить фильтр по годам.
Кто-то может подсказать, как это лучше реализовать?
У меня все сводится к тому что нужно в глобальный фильтр $arrFilter добавить условие
Но тогда получаю
т.е. без индекса.
И тут я туплю.
На странице добавлен компонент bitrix.news, в котором вместо catalog.filter добавил catalog.smart.filter.
Теперь помимо фильтра по обычным свойствам нужно еще добавить фильтр по годам.
Кто-то может подсказать, как это лучше реализовать?
У меня все сводится к тому что нужно в глобальный фильтр $arrFilter добавить условие
Код |
---|
$GLOBALS['arrFilter'] = [ 'LOGIC' => 'OR', [ '>=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(0,0,0,1,1,$year)), '<=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(23,59,59,12,31,$year)) ], '<=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(23,59,59,12,31,$year2)), ]; |
Но как это сделать не затерев условия "умного фильтра" - тут я туплю.
Пробовал так
Код |
---|
$GLOBALS['arrFilter'][] = [ 'LOGIC' => 'OR', [ '>=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(0,0,0,1,1,$year)), '<=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(23,59,59,12,31,$year)) ], '<=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(23,59,59,12,31,$year2)), ]; |
Код |
---|
[ 'PROPERTY_19' => 46, '0' => [ 'LOGIC' => 'OR', [ '>=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(0,0,0,1,1,$year)), '<=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(23,59,59,12,31,$year)) ], '<=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(23,59,59,12,31,$year2)), ] ]; |
а для работы фильтра надо чтобы было
Код |
---|
[ 'PROPERTY_19' => 46, [ 'LOGIC' => 'OR', [ '>=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(0,0,0,1,1,$year)), '<=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(23,59,59,12,31,$year)) ], '<=DATE_ACTIVE_FROM' => date('d.m.Y', mktime(23,59,59,12,31,$year2)), ] ]; |
И тут я туплю.