@DeboshiR
Свободу разработчикам!!!

Как вывести элементы по конкретной дате активности?

Есть инфоблок с несколькими элементами с определенной датой активности. Требуется вывести инфоблоки с датой активности, скажем, только 20.07.2019. Использование фильтра $filter = array("=ACTIVE_FROM" => "20.07.2019"); в целом решает задачу, но если поставить дату 19.07.2019, то выведутся инфоблоки активные 19 и 20 числа.
  • Вопрос задан
  • 459 просмотров
Решения вопроса 1
serginhold
@serginhold
Как бы не судьба посмотреть какой sql запрос генерируется и немножко подумать?

Active_from это старт активности. Логично что если не ограничить с другой стороны, то выведется все что после указанной даты.

Короче, берешь 19 число, это >= active_from. Прибавляешь день к предыдущей дате, получается 20 число, это < active_to. Всё, это твои два фильтрующих значения.

P.s. так как странный битрикс требует даты в странном формате, который связан с какими-то там настройками сайта, то советую в фильтр передавать значения с помощью Bitrix\Main\Type\DateTime, он сам все отформатирует
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xISRAPILx
@xISRAPILx
Кратко не получится
$filter = array("=ACTIVE_FROM" => "19.07.2019", "=ACTIVE_TO" => "19.07.2019");
Можно так же попробовать
$filter = array("=ACTIVE" => "19.07.2019")
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы