Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Фильтрация новостей по дате

00 голосов
3
Странно, что в Битриксе до сих пор не реализована возможность вывода новостей за определенный период...

Суть в следующем:
Хочется вывести новости за определенный период из инфоблока через news.list. На первый взгляд оказалось все просто, но фильтр
Код
$arrFilter = Array(
">=ACTIVE_FROM" => "01.01.2011",
"<=ACTIVE_FROM" => "01.02.2011")

не срабатывает, выводятся элементы, начиная с 01.02.2011.

В то же время
Код
CIBlockElement::GetList(
 array(), 
 array('IBLOCK_ID' => 1, "<=DATE_ACTIVE_FROM" => "01.02.2011", ">=DATE_ACTIVE_FROM" => "01.01.2011"), 
 false, 
 false, 
 array()
 );

дает именно то, что нужно.

Что я делаю не так в случае с выводом через компонент news.list?
спросил 12 Окт, 13 от Ozzman (120 баллов)

3 Ответы

00 голосов
Похоже что в $arrFilter перепутаны знаки сравнения, т.е. вы выбираете новости до января и после февраля.
ответил 30 Окт, 13 от smileplz (8,020 баллов)
00 голосов
В сообщении действительно были перепутаны, в реальном коде - нет.
В любом случае, даже при перепутанных знаках показываются новости только после февраля.
Цитата
Max Pryazhevsky пишет:
Похоже что в $arrFilter перепутаны знаки сравнения, т.е. вы выбираете новости до января и после февраля.
ответил 04 Фев, 14 от Ozzman (120 баллов)
00 голосов
Странно, в почту мне пришло письмо с новым сообщением в этой теме, но здесь его уже нет.
Тем не менее, там был правильный ответ.
Если посмотреть в структуру таблиц элементов инфоблока, можно увидеть, что поля ACTIVE_FROM там нет, а есть DATE_ACTIVE_FROM. Странно, что я все равно вижу ACTIVE_FROM в $arResult.

Правильный фильтр будет выглядеть так:
Код
<? $arrFilter = Array(
">=DATE_ACTIVE_FROM" => $from,
"<=DATE_ACTIVE_FROM" => $to)?>

, где $from и $to, соответственно, даты начала и окончания периода.

Всем спасибо за участие.
ответил 24 Май, 14 от Ozzman (120 баллов)

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

0 голосов
4 ответов
спросил 07 Фев, 14 от Kiuas (640 баллов)
0 голосов
1 ответ
спросил 27 Апр, 14 от Frejho (580 баллов)
0 голосов
3 ответов
спросил 24 Фев, 14 от uHDurO (100 баллов)
0 голосов
4 ответов
спросил 06 Фев, 14 от VALALEX (100 баллов)