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

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

00 голосов
1
У новости есть свойство "Тема" - привязка к элементам инфоблока "темы"
Хочу в левое меню поставить значения тем ВСЕ / ТЕМА1 / ТЕМА2 ...
чтобы при нажатии на тему - в список новостей на странице выводились нужные новости

Как думаю реализовать -
* в .menu_ext.php через CIBlockElement::GetList выдернуть темы и в урл передать ID темы
а вот дальше сомневаюсь:
* скопировать шаблон компонента и в соответствии с переданным ID темы вывести только нужные темы

сомневаюсь потому, что получается не совсем рационально - компонент выбирает все новости, а в шаблоне вывожу только нужные - по идее нужно и выбирать только нужные

С битриксом только знакомлюсь ... поэтому не знаю как принято делать - может так нормально будет?
Вообще думаю задача то типичная.
спросил 27 Апр, 14 от Frejho (580 баллов)

1 Ответ

00 голосов
Компонент, конечно, не должен выбирать все новости. Назначьте ему фильтр:
Код
FILTER_NAME => 'arrFilter'


А перед вызовом компонента этот фильтр задайте:
Код
$GLOBALS['arrFilter'] = array(
   'PROPERTY_XXX' => intval($_GET['topic'])
   ## XXX - символьный или числовой код свойства "Тема"
);


UPDATE. И еще в настройках компонента отметьте "Кешировать при установленном фильтре"
ответил 15 Дек, 14 от Snaper (580 баллов)

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

0 голосов
4 ответов
спросил 07 Фев, 14 от Kiuas (640 баллов)
0 голосов
3 ответов
спросил 12 Окт, 13 от Ozzman (120 баллов)
0 голосов
1 ответ
0 голосов
1 ответ
спросил 22 Фев, 18 от аноним
0 голосов
1 ответ
спросил 08 Май, 14 от CyPOBbIu (100 баллов)