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

20529  |  35

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

Начинаем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Расскажи друзьям-то:
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей
Зарегистрироваться Войти Напомнить пароль
Или войти через социальную сеть:
Гость сайта
Добрый день, один в один сделал, разве что фильтр не стал пока комментировать, но ничего не работает(((
Михаил Базаров
Цитата
Гость сайта пишет:
Добрый день, один в один сделал, разве что фильтр не стал пока комментировать, но ничего не работает(((
Закомментируйте фильтр
Гость сайта
Цитата
попрошу не путать с компонентом "Список новостей" с ним все попроще
Со списком тоже работает, но если можно проще, то как проще? И как быть если на странице список новостей вызывается несколько раз и для каждого надо задать фильтр? Подскажите.
Михаил Базаров
Цитата
Гость сайта пишет:
Цитата
попрошу не путать с компонентом "Список новостей" с ним все попроще
Со списком тоже работает, но если можно проще, то как проще? И как быть если на странице список новостей вызывается несколько раз и для каждого надо задать фильтр? Подскажите.
Не могу представить зачем несколько раз выводить список новостей на одной странице. Но если производительность этой страницы дело второе, то прямо в настройках конкретного компонента указывайте откуда ему брать новости (ID раздела)
Алена
Большое спасибо за подробный урок. Была задача вывести статьи по разделам - статья очень помогла.
Михаил Базаров
Цитата
Алена пишет:
Большое спасибо за подробный урок. Была задача вывести статьи по разделам - статья очень помогла.
Пожалуйста
Дмитрий
Получится так вывести список разделов? Раздел > Подраздел > Элемент - в таком виде
Владимир
Здравствуйте, Михал.
Кусок кода который выводит на странице
Новости 1-3 из 3
Начало |Пред. | 1| След.| Конец | Все
Код
<?if($arParams["DISPLAY_BOTTOM_PAGER"]):?>
    <?=$arResult["NAV_STRING"]?>
<?endif;?>
 
Не подскажете как отредактировать чтобы вывести только "все новости" ? Не смог найти нужные $MESS.
Михаил Базаров
Нужно скопировать шаблон pagenavigation из системных, а дальше сделать с ним все что душе угодно
Владимир
Спасибо!
Alex
Добрый день, к сожалению данный способ не работает на последней версии цмс. Не могли бы Вы обновить свое решение проблемы?!
Михаил Базаров
Цитата
Alex пишет:
Добрый день, к сожалению данный способ не работает на последней версии цмс. Не могли бы Вы обновить свое решение проблемы?!
Все работает как надо, проверил только что на одном из сайтов. Ищите ошибку у себя: где-то, что-то упускаете.
Сергей
Цитата
Alex пишет:
Добрый день, к сожалению данный способ не работает на последней версии цмс. Не могли бы Вы обновить свое решение проблемы?!
Подтверждаю слова Alex. Данный способ не работает в версии 14.5. Перепроверил несколько раз.
Пришлось в шаблоне компонента bitrix:news вставлять параментр для компонента bitrix:news.list
А именно,

Код
<?$APPLICATION->IncludeComponent(
   "bitrix:news.list",
   "",
   Array(

...
      "PARENT_SECTION" => "6",
   ),
   $component
);?> 

Где 6 - это ID вашей секции (раздела)
Михаил Базаров
Цитата
Сергей пишет:
Цитата
Alex пишет:
Добрый день, к сожалению данный способ не работает на последней версии цмс. Не могли бы Вы обновить свое решение проблемы?!
Подтверждаю слова Alex. Данный способ не работает в версии 14.5.
http://portal-peterburg.ru/1/ именно так выведены статьи раздела "Парки и сады" инфоблока О городе

Битрикс 14.5 редакция Бизнес, но это не принципиально. Все один в один по записке ничего нового.
Сергей
А как вывести разделы инфоблока с помощью компонента "Элементы раздела"? Что-то не получается. Подскажите что писать в настройках инфоблока и компонента
Михаил Базаров
Цитата
Сергей пишет:
А как вывести разделы инфоблока с помощью компонента "Элементы раздела"? Что-то не получается. Подскажите что писать в настройках инфоблока и компонента
Это как бы логично: Не получится вывести разделы, элементами- в самих терминах ответ (разделы/Элементы)
Sergey Barkov
Михаил, здравствуйте!
Описанный Вами способ почему-то работает только на компоненте "Список новостей", а на комплексном компоненте "Новости" работать отказывается. Версия 15.0.6. Не могли бы Вы намекнуть, в чем может быть дело? :)
Andrey
Цитата
Михаил Базаров пишет:
Цитата
Сергей пишет:
Цитата
Alex пишет:
Добрый день, к сожалению данный способ не работает на последней версии цмс. Не могли бы Вы обновить свое решение проблемы?!
Подтверждаю слова Alex. Данный способ не работает в версии 14.5.
http://portal-peterburg.ru/1/ именно так выведены статьи раздела "Парки и сады" инфоблока О городе

Битрикс 14.5 редакция Бизнес, но это не принципиально. Все один в один по записке ничего нового.
Михаил. Здравствуйте. Тем не менее, Alex пишет дело - только что пробовал ваш вариант - на arrResult система не реагирует. Попробовал вариант Alex'a - все помогло.
Дмитрий
Михаил, добрый день. Вот такой вопрос:
Есть сайт, на отдельной странице(не главной), есть компонент новости с новостями.
Я добавил в эти компоненты свойства.
Вопрос такой, как можно с этой страницы на главную вывести новости отмеченные галочкой по свойству?
заранее спасибо.
Михаил Базаров
Цитата
Дмитрий пишет:
Михаил, добрый день. Вот такой вопрос:
Есть сайт, на отдельной странице(не главной), есть компонент новости с новостями.
Я добавил в эти компоненты свойства.
Вопрос такой, как можно с этой страницы на главную вывести новости отмеченные галочкой по свойству?
заранее спасибо.
Можно перед вызовом компонента список новостей навесить фильтр


Код
<?
   $GLOBALS['arrFilter'] = array("PROPERTY_45_VALUE"=>"YES"); 
?>
 
Где
arrFilter - название фильтра, назвать можно как угодно
PROPERTY_45_VALUE - ID свойства в котором хранится показатель, в вашем случае свойство чекбокс. Если галка стоит то YES , нет так просто нет.

В самом компоненте, в строчке с фильтром указать его название, в данном случае arrFilter



Код
...
      "ELEMENT_SORT_ORDER2" => "asc",
      "FILTER_NAME" => "arrFilter",  //ВОТ ТУТ
      "HIDE_NOT_AVAILABLE" => "N",
...
 
Страницы: 1 2 След.

© 2011—2016 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.
Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой. Политика конфеденциальности
x
Как к Вам обращаться? *
Ваша электронная почта: *
Доп. материалы (логотип, тех. задание):
 
Обзор
Текст сообщения: