Отфильтровать новости в Битрикс за заданный период

Иногда, нужно отфильтровать элементы (новости например) по дате в Битрикс, с помощью компонента "список новостей". Для этого можно воспользоваться методом фильтрации

Фильтрации новостей в компоненте "список новостей" за периоды

Например: нужно показать все новости за сегодняшний день, для этого достаточно "навесить"" фильтр над выводом компонента "список новостей"

<?
$curdate = date('d.m.Y'); //Всегда текущая дата
$arrFilterCurDate = Array(">=DATE_ACTIVE_FROM" => $curdate)
?>

В выводе компонента не забываем задать имя фильтра и формат даты в формате d.m.Y

$APPLICATION->IncludeComponent(
"bitrix:news.list",
"all_popular",
array(
....
"FILTER_NAME" => "arrFilterCurDate",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
....
),
false
);

Вывести новости за сегодня и вчера, более сложный фильтр с диапазоном

<?
$from = date('d.m.Y', time() - 86400); //от вчера, то есть -86400 секунд
$to = date("d.m.Y"); //по текущую дату
$arrFilterTwoDate = Array(">=DATE_ACTIVE_FROM" => $from, "<=DATE_ACTIVE_FROM" => $to) ?>

Не забываем задать имя фильтра в компоненте

FILTER_NAME" => "arrFilterTwoDate",

И, например, за последний месяц. По сути, все так же как и в прошлом диапазоне, просто 86400 секунд умножаем на 30- получим дату "от" на месяц назад. Перемножением на нужную цифру, можно получить любой период: 3 дня, полгода и так далее

<?
$from = date('d.m.Y', time() - 86400 * 30); //от минус 30 дней назад
$to = date("d.m.Y"); //по текущую дату
$arrFilterMounth = Array(">=DATE_ACTIVE_FROM" => $from, "<=DATE_ACTIVE_FROM" => $to) ?>
FILTER_NAME" => "arrFilterMounth",
Еще в записках:
Все заметки
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей

Зарегистрироваться Войти
Напомнить пароль

Быстрая регистрация через соц.сеть:
Асем
Добрый день! Не подскажете как отфильтровать новости, содержащие определенное слово в тексте?
Михаил Базаров
Цитата
Асем написал:
Добрый день! Не подскажете как отфильтровать новости, содержащие определенное слово в тексте?
Можно поробовать фильтровать по тегам, соответственно нужное слово добавлять в теги. Это обычное свойство
Константин Нечаев
Добрый день.

Есть список новостей. У новостей есть свойство-чекбокс "Новость дня", которое отмечается в админке. На сайте же размещен список новостей: сначала выводится одна, самая последняя отмеченная Новость дня, потом выводятся все остальные, неотмеченные.

Нужно сделать, чтобы в Новости дня выводилась так же, самая последняя отмеченная, а ниже выводились все новости: и неотмеченные, и отмеченные. Но если там выводятся и отмеченные новости, то выводить за исключением самой последней (которая находилась бы над этим списком в Новости дня).

Подскажите, как можно реализовать такое.

© 2011—2017 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.

Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой.
Политика конфеденциальности