Вывести новости из конкретного раздела инфоблока Битрикс

Просмотров: 61995

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

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

Начинаем

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

Новости из конкретного раздела инфоблока

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

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

Новости из конкретного раздела инфоблока

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

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

режим редактирования исходного кода

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


<?$GLOBALS['arrFilter']=array("SECTION_ID" => 90);?>

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

режим редактирования исходного кода

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

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

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

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

копируем шаблон компонента битрикс

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

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

редактируем компонент битрикс

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

Гость 19.03.2022
Цитата
написал:
Цитата
Гость написал:
Подскажите, как в компоненте Новости вывести не весь список, а только те элементы, у которых настроенное определенное свойство?
В настройках свойств Инфоблока добавлено свойство "Тип" (см. скрин property)
В разделе лежат элементы с типом "новость" и "история" (см. скрин infotype)
Стандартным фильтром по свойству (см. скрин filter) - на страницу выводится выбор по Типу (либо одно, либо другое).
А мне в этой области нужен только один тип:"история" .
Пробую вот так:
Код
  <?
   $GLOBALS['arrFilter'] = array("PROPERTY_50_VALUE" =>"история"); 
   ?>
                    <?$APPLICATION->IncludeComponent(
   "bitrix:news", 
   "how_to_get_news", 
   array(
      "ADD_ELEMENT_CHAIN" => "N", и  т.д.... 


Не получается.

В самом выводе компонента новостей не забыли применить фильтр?

Код
 $APPLICATION->IncludeComponent(
   "bitrix:news", 
   "how_to_get_news", 
   array(
      "FILTER_NAME" => "arrFilter", 
и  т.д....
 
Добрый день.
Да, забыл.
Добавил, но сначала ничего не поменялось.
Проделал манипуляции заново.
И только после того как закомментировал в коде отображение фильтра - все заработало!
Спасибо большое. Помогли!
Гость 20.03.2022
Михаил, продолжаю разбираться с косяками сайта.
Нашел проблему с пагинацией.

На сайте есть раздел Истории и новости. https://domgdeteplo.ru/istorii-i-novosti/index.php#

Сверху три фильтрующие кнопки. Работают нормально, фильтруют.

Проблема в следующем:
Всего в инфоблоке у меня активных 5 историй и 15 новостей. Но отображаются они с косяками:

1. Нажимая на “Истории и новости” всегда показывает 1 историю и 12 новостей, кнопка “показывать по 4/8/12 не работает. Как это  можно поправить?
2. Нажимая на “Только истории”, отображается только 1 история, пагинация отсутствует вообще. Как это поправить?
3. Нажимая на “Только новости”, отображается всегда только 12 новостей, и  кнопка “показывать по 4/8/12” тоже не работает. Как это поправить?

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


Код используемого шаблона пагинации - в файлике.
Михаил Базаров 20.03.2022
Затрудняюсь что либо подсказать. Нужно вдумчиво разбираться на месте.
Всеволод 08.05.2022
Здравствуйте, Михаил!
Большое спасибо за материал. Все работает.
Но самостоятельно никак не мог решить эту задачу.
В хлебных крошках отображались статьи определенной категории, а на странице не мог вывести.
Спасибо!
Гость 10.11.2022
Странно, данный способ работал на моем прошлом сайте, а на этом - не робит....
Михаил Базаров 10.11.2022
Попробуйте
Код
<?$GLOBALS['arrFilter']=array("=SECTION_ID" => 90);?>
Иван 04.05.2023
Михаил, здравствуйте!
А что если в списке нужно вывести сначала два элемента с конкретными id, а после весь список по стандартной фильтрации сортировки?
например id у этих двух элементов 8104 и 3926, находятся они в одном разделе, где все остальные элементы списка
Реализован слайдер с проектами на странице и нужно, чтобы два конкретных проекта выводились вначале для конкретной страницы, а для остальных страниц по стандартной сортировке?
Михаил Базаров 04.05.2023
Цитата
Иван написал:
Михаил, здравствуйте!
А что если в списке нужно вывести сначала два элемента с конкретными id, а после весь список по стандартной фильтрации сортировки?

Думаю, самое простое это поднять их вверх сортировкой, весь остальной список вывести по сортировке с взрастанием.
Гость 12.09.2023
Здравствуйте. А если нужно вывести новости из определённого раздела, но при это оставить возможность фильтрации по новостях, например, по дате публикации новости? Подскажите, как тогда можно поступить?
Михаил Базаров 13.09.2023
Расширять массив arrFilter, пример с выборкой раздела и дате активности, как-то так:
Код
$GLOBALS['arrFilter']=array(
      "SECTION_ID" => 90,
      ">DATE_ACTIVE_FROM" => "21.12.2022 00:00:00"
);

Отберет из 90-го раздела с датой активности больше 21 декабря 2022-го

Блог-note: заметки разработчика

Хостинг панель BrainyCp: оптимизация под 1С-битрикс

В этой видео-заметке расскажу как установить и оптимизировать панель управления сервером BrainyCp для использования в св...

Увеличение диска на готовой виртуальной машине Битрикс

Как всем известно, на официальном сайте 1С-битрикс можно скачать готовую виртуальную машину максимально сконфигурированн...

Удалить все картинки элементов инфоблока: анонс, детальную и дополнительные картинки (MORE_PHOTO)

Задача: В инфоблоке 10 000 элементов, нужно удалить картинки анонса, детальные и дополнительные картинки из свойства MOR...

Добавить свойство в административную форму заказа

Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку формы, в виде картинки. На сайте...

Настройка выгрузки товаров в Яндекс Маркет с сайта Битрикс

Настройка выгрузки в Яндекс маркет в формате yml, выполняется достаточно просто, кроме одной заморочки: в типовой постав...

Обновление 1С-Битрикс до поддержки версии PHP 8.3 с PHP 7

Задача: обновить устаревший сайт на платформе 1С-Битрикс, который не получал обновлений уже более 4 лет и работает на PH...

Фотогалерея на базе компонента новостей, с fancybox.

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

Как подобрать редакцию Битрикс под задачи

Последнее время, все чаще, при общении с заказчиками, сталкиваюсь с вопросом "— Какая редакция 1С-Битрикс нужна дл...

Обновить страницу Inapbrowser в приложении Apache Cordova, при выходе из фона

Задача: Мобильное приложение, созданное на Apache Cordova должно перезагрузить текущую страницу, открытую с помощью плаг...