@inviziblll

Как сделать фильтрацию списка новостей по датам Начало активности и Окончание активности?

Необходимо задать фильтрация для списка новостей который выводится через компонент news.list
по дате Начало активности (DATE_ACTIVE_FROM) и дате Окончание активности (DATE_ACTIVE_TO)

Я знаю что проще всего отфильтровать список используя arrFilter
Сейчас я фильтрую таким образом:
$from = date('10.01.2021'); 
$to = date("16.01.2021"); 
$arrFilter = Array(
  ">=DATE_ACTIVE_FROM" => $from, 
  "<=DATE_ACTIVE_TO" => $to
);

и далее указываю в коде вызова имя переменной с фильтром
APPLICATION->IncludeComponent(
  "bitrix:news.list",
  "slider_main",
  Array(
 "FILTER_NAME" => "arrFilterDate",
…
)
);


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

Можно ли как то отфильтровать список новостей в news.list задав дополнительные параметры в шаблоне компонента, так чтобы дату Начало активности (DATE_ACTIVE_FROM) и дату Окончание активности можно было задавать в режиме редактирования компонента в блоке Дополнительные настройки, таким образом, чтобы компонент мог обрабатывать указанные параметры также как в переменной arrFilter либо получившиеся параметры передать в переменную arrFilter уже в шаблоне компонента например в файле result_modifier.php?

5ffc5c1d3f22c912953960.png
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ответы на вопрос 1
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Скопируйте шаблон компонента и добавьте в него .parameters.php с нужными вам настройками. Но в этом случае они не будут учитываться в выборке новостей, потому что GetList про них ничего не знает.
Подробнее почитать можно тут https://ydmitry.ru/blog/4-sposoba-rasshirit-standa...

Ещё как вариант можно перед компонентом разместить дополнительный "настроечный" компонент настройки которого будут попадать в глобальный arrFilter для вашего компонента, но это слишком заморочено для вашего случая.

Проще кастомизировать стандартный компонент под вашу задачу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы