Меню

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

Просмотров: 20998

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

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

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

$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",
Константин Нечаев 18.02.2017
Добрый день.

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

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

Подскажите, как можно реализовать такое.
Андрей 09.01.2023
Михаил, добрый день!
Подскажите, пожалуйста, можно ли "прикрутить" к умному фильтру такую вещь.
Есть товар - цветочки, у товара есть один из параметров - период цветения, типа "от и до" (даты).
Можно ли работу умного фильтра настроить в таком режиме?
Михаил Базаров 09.01.2023
Цитата
Андрей написал:
Подскажите, пожалуйста, можно ли "прикрутить" к умному фильтру такую вещь.
Есть товар - цветочки, у товара есть один из параметров -  период цветения, типа "от и до"  (даты).
Можно ли работу умного фильтра настроить в таком режиме?

Добрый. Да, просто создайте свойство типа "Число", заполните у нужных товаров и добавте в фильтр с настройкой "Показывать как число от- до"
Андрей 10.01.2023
Михаил, возможно я неправильно сформулировал, но нужно чтобы числа отображались в формате дат. Например:
Ромашка цветет в период с 01.05 по 15.06
Астра цветет в период с 10.05 по 20.06

При выборе в фильтре периода допустим с 01.05 - 20.06 они должны попасть в результаты
Михаил Базаров 10.01.2023
Цитата
Андрей написал:
Михаил, возможно я неправильно сформулировал, но нужно чтобы числа отображались в формате дат. Например:
Ромашка цветет в период с  01.05 по 15.06
Астра цветет в период с  10.05 по 20.06

При выборе в фильтре периода допустим с  01.05 - 20.06  они должны попасть в результаты

Смутно представляю как это будет с позиции пользователя. При движении ползунка должны меняться и дни и месяцы, а полоса это как-бы год?
Без доработок фильтра точно не получится, но в целом это просто html+js с выборкой доступных дат.
Гость 13.07.2024
    Часто такое нужно

   опечатка - (лишний знак - '>'): ">$arrFilterCurDate = Array"
Гость 04.08.2024
Не работает фильтр за месяц
Гость 16.10.2024
Михаил, а как сделать фильтр новостей по месяцам в выпадающем списке? Если сложно, то в виде кнопок, а не списка.
Михаил Базаров 16.10.2024
В битриксе есть штатный копонент "Календарь событий" и его упрощенная версия- он как раз и ставит глобальный фильтр, а использовать можно с любым другим компонентом.
С его шаблоном можно поковыряться, адаптировать под свою задачу - главное что функционал уже есть
Алекс 25.11.2024
А как сделать фильтр по месяцам, а не по отсчету в днях?
То есть, известно сколько в каждом месяце дней. Как сделать январь период с 01.01 до 31.01 и тд
Сделать фильтр по периодам не проблема )) Вопрос, как еще сделать месяц + год.
И еще, должен отображаться по умолчанию последний месяц ...

Стоимость и сроки разработки сайтов и приложений

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

Интернет магазин: разработка с нуля от 350 000 руб.
от 4-х недель

Cоздание интернет-магазина на 1С-Битрикс. Разработка с нуля, оптимизация кода под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Интернет-магазин на готовом решении от 100 000 руб.
от 7-ми дней

Готовое решение — вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Запускается на одном из 200-та (на ваш выбор) готовых решений.

Мобильное приложение от 400 000 руб.
от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Опросник на разработку. После ознакомления, задам уточняющие вопросы и оценю проект по стоимости и срокам разработки.