bitrix news вывод разделов

Комплексный компонент Битрикс выводит все элементы инфоблока. Что для просто новостей на сайте визитке не критично . Но если если нужно вывести статьи по разделам, то я применил почти стандартный хак- $arrFilter.

На странице раздела размещаем комплексный компонент bitrix:news ,указав сразу имя шаблона компоненты или в режиме правки скопировав шаблон компонента в свой шаблон. /bitrix/templates/my_templates/components/bitrix/news/my_templates/ .

Открываем файл news.php для редактирования и перед вызовом компоненты bitrix:news.list, размещаем фильтр, по которому будут отбираться раздел

$_REQUEST[«ELEMENT_ID»]);
$APPLICATION->IncludeComponent(
«bitrix:news.list»,
«»,
Array(

Если нужно вывести описание , картинку раздела, то новый хак уже для шаблона bitrix:news.list . Создаем файл result_modifier.php, уже в папке шаблона bitrix:news.list в котором добавляется в массив $arResult[‘ITEMS’], нужные данные.

$arItem)
<
$arSectionList = array();
$rsSections = CIBlockElement::GetElementGroups($arItem[‘ID’]);
while ($arSection = $rsSections->GetNext()) <
$arSectionList[] = array(
‘ID’ => $arSection[‘ID’],
‘NAME’ => $arSection[‘NAME’],
‘SECTION_PAGE_URL’ => $arSection[‘SECTION_PAGE_URL’],
‘PICTURE’ => $arSection[‘PICTURE’],
‘DESCRIPTION’ => $arSection[‘DESCRIPTION’],
);
>
$arItem[‘SECTION_LIST’] = $arSectionList;
$arResult[‘ITEMS’][$key] = $arItem;
>
?>

ТВОРИТЬ — ВОТ НАСЛАЖДЕНИЕ!

линия

понедельник, 2 октября 2017 г.

Bitrix news.list — Вывод разделов и элементов

Нет нет да попадется задача где надо вывести содержимое инфоблоков отсортированный по разделам. Задача на первый взгляд обычная. Но, если не иметь под рукой шпаргалку вместо того чтобы потратить 5 мин тратишь 10. А это тебе надо? Разумеется нет.

Итак, добавляем компонент bitrix.news.list
Копируем в свой шаблон, создаем файл result_modifier.php

Добавляем такой код.

Далее в шаблоне выводим.

2 комментария:

Этот комментарий был удален автором.

Оптимальнее будет так:

$dbResSect = CIBlockSection::GetList(
Array(«SORT»=>»ASC»),
Array(«IBLOCK_ID»=>$arParams[‘IBLOCK_ID’])
);
//Получаем разделы и собираем в массив
while($sectRes = $dbResSect->GetNext())
<
$arSections[$sectRes[‘ >>

foreach($arResult[«ITEMS»] as $key=>$arItem) <
$arSections[$arItem[‘IBLOCK_SECTION_ >>

Получаем один цикл, вместо двойного вложенного

Бывает что требуется вывести конкретные новости или статьи из одного раздела инфоблока в Битрикс, для этого потребуется сначала вывести сам компонент «Новости и статьи» на страницу а затем проделать ряд манипуляций, скопировать шаблон news в папку своего шаблона и применить фильтр.

Начинаем

Итак имеем готовый инфоблок с разделами:

На страницу мы вывели компонент «Новости», попрошу не путать с компонентом «Список новостей» с ним все попроще, нам нужно вывести на страницу статьи только из раздела «Где погулять, что посмотреть»- его ID 90 (первый в списке на картинке).

Для начала два раза кликаем по иконке компонента в редактировании страницы на которую мы вывели «Новости» и попадаем в настройки параметров:

Необходимо развернуть список «Настройки фильтра», поставить галочку напротив «Показывать фильтр», в поле под ним вписываем слово arrFilter — все больше ничего здесь не трогаем и сохраняемся.

Далее переключаемся в режим редактирования исходного кода:

и в самом начале подключения добавляем строчку:

в итоге должно получиться вот так:

Поясню- цифра 90 это ID раздела новоси которого мы и хотим вывести на страницу.

Заканчиваем выводить новости из раздела инфоблока

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

Что бы его убрать, скопируем стандартный шаблон новостей в папку со своим шаблоном:

Открываем для редактирования шаблон списка новостей:

И в нем закомментируем кусок отвечающий за вывод фильтра, примерно с 24-ой по 39-ую строки, на картинке выделено синим:

Вот в общем-то и все. Имеем вывод публикаций только из одного раздела инфоблока Битрикс

Оцените статью