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

Недоработка bitrix:news?

00 голосов
6
Комплексный компонент bitrix:news.
В настройках компонента нигде указывается имя переменной arFilter.
Однако в шаблоне компонента вызывается news.list с именем этой переменной:
<?$APPLICATION->IncludeComponent(
Код
   "bitrix:news.list",
   "",
...
      "FILTER_NAME"   =>   $arParams["FILTER_NAME"],
...
   ),
   $component


Итого, если захотим отфильтровать новости в комплексном компоненте - ничего не выйдет, ибо $arParams["FILTER_NAME"] - пустая строка . Нужно вручную изменить шаблон компонента и прписать имя переменной, в которой храниться массив фильтации.

Эта задача возникла при скрещивании календаря и комплексного компонента "Новости". Штатно не хотел ни в какую рабоать. С указанной доработкой - все получилось.

Или нужно как-то по другому использовать фильтр? Или стоит его все-таки прописать в параметры компонента?
спросил 22 Окт, 13 от LoveMePIz (240 баллов)

6 Ответы

00 голосов
Для комплексного компонента есть параметр USE_FILTER, если установлено в Y то подключается компонент фильтра.
ответил 18 Ноя, 13 от Run (1,300 баллов)
00 голосов
Цитата
Дмитрий Шкуркин пишет:
Для комплексного компонента есть параметр USE_FILTER, если установлено в Y то подключается компонент фильтра.

Не совсем то... Если установить галку и задать имя переменной фильтра и больше ничего не указывать будут выведены две кнопки "Фильтр" и "Сбросить"

Мне нужно было использовать календарь как фильтр по дате - поэтому все равно пришлось бы править шаблон, чтобы либо кнопки убрать, либо имя переменной фильтра правильно вставить.

То есть идеальным вариантом было бы вынести настройку имени переменной фильтра из группы параметров USE_FILTER, чтобы можно было более гибко настраивать вывод новостей.
ответил 26 Фев, 14 от LoveMePIz (240 баллов)
00 голосов
Ну вы прям хотите чтобы разработчики Битрикс подстраивались под каждого пользователя. Есть как бы компонент, а вы его уже кастомизируйте под свои нужды.
ответил 18 Июнь, 14 от Run (1,300 баллов)
00 голосов
Цитата
pashilyaev пишет:
Не совсем то... Если установить галку и задать имя переменной фильтра и больше ничего не указывать будут выведены две кнопки "Фильтр" и "Сбросить"

Перечень ключей, доступных для настройки при USE_FILTER = Y:
FILTER_NAME - имя переменной, содержащей значения фильтра
FILTER_FIELD_CODE - перечень полей инфоблока, выводимых в фильтре
FILTER_PROPERTY_CODE - перечень свойств инфоблока, выводимых в фильтре (при условии задания реального IBLOCK_ID)
Все это описано в документации
ответил 17 Окт, 14 от Pomnep (13,960 баллов)
00 голосов
Цитата
Евгений Жуков пишет:
Перечень ключей, доступных для настройки при USE_FILTER = Y: FILTER_NAME - имя переменной, содержащей значения фильтра FILTER_FIELD_CODE - перечень полей инфоблока, выводимых в фильтре FILTER_PROPERTY_CODE - перечень свойств инфоблока, выводимых в фильтре (при условии задания реального IBLOCK_ID)

Это я знаю.
Ладно, переформулирую по другому.

Предположим комплексному компоненту передается URL вида /news/?month=5&day=19&year=2011 - и от компонента естественно требуется вывести новости за 19.05.2011.

При этом мне не нужен USE_FILTER = Y (не нужны никакие лишние кнопки), мне просто нужно, чтобы FILTER_NAME - было заполнено в соответствии с моей настройкой.
ответил 16 Фев, 15 от LoveMePIz (240 баллов)
00 голосов
Кастомизируйте, например, шаблон компонента фильтра внутри шаблона bitrix:catalog - не выводите его.
ответил 27 Май, 15 от Pomnep (13,960 баллов)

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

0 голосов
2 ответов
спросил 20 Янв, 14 от asderte (260 баллов)
0 голосов
3 ответов
спросил 28 Дек, 13 от Bearnas (220 баллов)
0 голосов
5 ответов
0 голосов
4 ответов
0 голосов
7 ответов