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

Отфильтровать все новости с фотками

00 голосов
7
Вроде бы простая задача, но не оч понимаю, нужно в списке новостей выводить только новости с картинкой. Можно, конечно, прописать в коде шаблона проверку на пустоту, но это не выход, т.к. выводить новостей нужно фиксированное количество (15 последних), то есть верное количество уже должно быть передано в шаблон. Нарыл в свойствах компонента поле "Фильтр", но не понимаю, как правильно прописать в нем условие.
спросил 29 Май, 13 от ddvfty (440 баллов)

7 Ответы

00 голосов
В компоненте в параметре "имя фильтра" укажите "arrFilter"
Перед компонентом добавьте сам фильтр:
Код
<?$arrFilter = Array("!PREVIEW_PICTURE"=>false);?>

Это для картинки анонса. Для детальной используйте DETAIL_PICTURE.
ответил 29 Май, 13 от smileplz (8,020 баллов)
00 голосов
Поторопился. Что-то не хочет работать:(
Код
            <?
            $arrFilter = Array("!PREVIEW_PICTURE"=>false);
            $APPLICATION->IncludeComponent("bitrix:news.list", ".default", array(
                                    "IBLOCK_TYPE" => "news",
                                    "IBLOCK_ID" => "3",
                                    "NEWS_COUNT" => "15",
                                    "SORT_BY1" => $arParams["SORT_BY1"],
                                    "SORT_ORDER1" => "ASC",
                                    "SORT_BY2" => $arParams["SORT_BY2"],
                                    "SORT_ORDER2" => "ASC",
                                    "FILTER_NAME" => $arrFilter,
                                    "FIELD_CODE" => array(
                                       0 => "",
                                       1 => $arParams["LIST_FIELD_CODE"],
                                       2 => "",
                                    ),
                                    "PROPERTY_CODE" => array(
                                       0 => "",
                                       1 => $arParams["LIST_PROPERTY_CODE"],
                                       2 => "",
                                    ),
                                    "CHECK_DATES" => "N",
                                    "DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["detail"],
                                    "AJAX_MODE" => "N",
                                    "AJAX_OPTION_SHADOW" => "Y",
                                    "AJAX_OPTION_JUMP" => "N",
                                    "AJAX_OPTION_STYLE" => "Y",
                                    "AJAX_OPTION_HISTORY" => "N",
                                    "CACHE_TYPE" => "A",
                                    "CACHE_TIME" => $arParams["CACHE_TIME"],
                                    "CACHE_FILTER" => "
ответил 02 Июнь, 13 от ddvfty (440 баллов)
00 голосов
В темплэйте делаю
Код
var_dump($arResult["FILTER_NAME"]);

возвращает NULL, по-моему, он вообще не обрабатывается:(
ответил 01 Сен, 13 от ddvfty (440 баллов)
00 голосов
Цитата
mike1982 пишет:
"FILTER_NAME" => $arrFilter,

вместо этого должно быть
Код
"FILTER_NAME" => "arrFilter"
ответил 30 Ноя, 13 от Pomnep (13,960 баллов)
00 голосов
Max, Евгений
Спасибо, заработало, блин, моя невнимательность меня погубит:(

Еще вопрос на засыпку, а можно указать в фильтре вывод новостей только с уникальными названиями (или каким-нить другим параметром)
ответил 12 Март, 14 от ddvfty (440 баллов)
00 голосов
Посмотрите параметры фильтрации в описании CIBlockElement::GetList().
ответил 03 Июль, 14 от smileplz (8,020 баллов)
00 голосов
Посмотрел. Но там фильтрация скорее по типу регулярных выражений или LIKE в sql, думаю, заведу просто признак в информационном блоке "выводить/не выводить" если более красивого решения не сыщется.
ответил 03 Ноя, 14 от ddvfty (440 баллов)

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

0 голосов
0 ответов
0 голосов
6 ответов
спросил 18 Сен, 13 от wogich (630 баллов)
0 голосов
3 ответов
0 голосов
2 ответов
0 голосов
4 ответов
спросил 28 Дек, 13 от Kania (5,180 баллов)