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

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

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

и в самом начале подключения добавляем строчку:
<?$GLOBALS['arrFilter']=array("SECTION_ID" => 90);?>
в итоге должно получиться вот так:

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

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

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

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

Цитата |
---|
Сергей пишет: А как вывести разделы инфоблока с помощью компонента "Элементы раздела"? Что-то не получается. Подскажите что писать в настройках инфоблока и компонента |
Описанный Вами способ почему-то работает только на компоненте "Список новостей", а на комплексном компоненте "Новости" работать отказывается. Версия 15.0.6. Не могли бы Вы намекнуть, в чем может быть дело?

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

Цитата |
---|
Дмитрий пишет: Михаил, добрый день. Вот такой вопрос: Есть сайт, на отдельной странице(не главной), есть компонент новости с новостями. Я добавил в эти компоненты свойства. Вопрос такой, как можно с этой страницы на главную вывести новости отмеченные галочкой по свойству? заранее спасибо. |
Код |
---|
<? $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", ... |
Цитата | ||||||
---|---|---|---|---|---|---|
Михаил Базаров пишет:
arrFilter - название фильтра, назвать можно как угодно PROPERTY_45_VALUE - ID свойства в котором хранится показатель, в вашем случае свойство чекбокс. Если галка стоит то YES , нет так просто нет. В самом компоненте, в строчке с фильтром указать его название, в данном случае arrFilter
|
Еще вопрос:
Есть 3 категории новостей, есть ли какая возможность вывести свойство с выпадающим списком, чтобы при добавлении новости, можно было выбрать категорию, куда она автоматически перенесется?
Как это можно сделать?
Заранее спасибо!

Цитата |
---|
Людмила пишет: Здравствуйте! Подскажите пожалуйста, как можно вывести на главную страницу новости из всех инфоблоков, отсортированные по дате? Хочется вывести их в виде анонсов с картинками-превьюшками, а такой возможности в Битрикс не предусмотрено. |
Цитата | ||
---|---|---|
Михаил Базаров пишет:
|
Например, новость, написанная в инфоблоке "Статьи", отображается на главной странице внизу, то есть, там, где размещен компонент, а не в самом верху.
Может быть, есть способ все-таки выводить их в порядке поступления?

Цитата |
---|
Людмила пишет: Кстати, компонент "Лента новостей" выводит их в порядке поступления, однако только дату и заголовок в виде ссылки. Ни включение картинки анонса, ни описание не отображаются. А кликнув по заголовку в ленте, попадаю на страницу /simple/detail.php?ID=номер, где номер - это ID новости, но она не отображается, а отображаются почему-то названия инфоблоков. |
На главной, с помощью вот этой записки, в которой обсуждаем, уже отфильтровывать из разделов с помощью "список новостей"
ЧПУ в инфоблоке новостей нужно настроить на физический раздел с новостями, как правило:
/news/ - Все новости или список разделов
/news/#SECTION_CODE#/ - новости раздела
/news/#SECTION_CODE#/#ELEMENT_CODE#/ конкретная новость
Точно так же и в компоненте новостей соответственно
В общем, избавьтесь от кучи инфоблоков, делайте одним с разделам.

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

Цитата |
---|
Людмила пишет: Снова здравствуйте, Михаил! Можно попросить вас разъяснить, как можно вывести маленький (100px 100px) календарь новостей во включаемой области, чтобы на главной странице выводились все новости за определенную дату, а на страницах разделов - новости этих разделов за выбранную дату? А то у меня он даже в компактном виде огромный и во включаемую область не влезает, а масштабирование я еще не освоила. |
Возник вопрос: Как вывести на страницу последнюю новость в детальном виде?

Цитата |
---|
Тимур Сафиюлин написал: Здравствуйте! Спасибо за Ваши уроки! Возник вопрос: Как вывести на страницу последнюю новость в детальном виде? |
А можно сделать фильтр новостей по месяцу и году?

Цитата |
---|
Алекс написал: Добрый день. А можно сделать фильтр новостей по месяцу и году? |
Код |
---|
Выводить новости определенного раздела, но компонентом bitrix:news так. В компоненте bitrix:news по адресу: /public_html/bitrix/templates/хххххххххххх/components/bitrix/news/хххххххххххххххх/news.php вставлен компонент bitrix:news.list Ему прописываем Код $GLOBALS['arrFilter'] = array("SECTION_ID" => Array(636,730,731)); $APPLICATION->IncludeComponent( "bitrix:news.list", "", Array( ... "FILTER_NAME" => "arrFilter", ... где Array(636,730,731) - массив из разделов, новости из которых выводить. |
Чуть сайт весь свой не поломала).
Вся фигня была как раз в фильтре и настройке ЧПУ.
Включить поддержку ЧПУ V
Каталог ЧПУ(относительно корня сайта): /departments/
Страница раздела: #SECTION_CODE#/
Страница детального просмотра: #ELEMENT_CODE#/
Код |
---|
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("Отделы"); ?> <?$GLOBALS['arrFilter']=array("SECTION_ID" => 91);?> <?$APPLICATION->IncludeComponent( "bitrix:news", "departsment", Array( "COMPONENT_TEMPLATE" => "departsment", "IBLOCK_TYPE" => "geography", "IBLOCK_ID" => "отделы/отделы", "NEWS_COUNT" => "20", "USE_SEARCH" => "N", "USE_RSS" => "N", "USE_RATING" => "N", "USE_CATEGORIES" => "N", "USE_REVIEW" => "N", "USE_FILTER" => "N", "SORT_BY1" => "ACTIVE_FROM", "SORT_ORDER1" => "DESC", "SORT_BY2" => "SORT", "SORT_ORDER2" => "ASC", "CHECK_DATES" => "Y", "SEF_MODE" => "Y", "AJAX_MODE" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "AJAX_OPTION_ADDITIONAL" => "", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "CACHE_FILTER" => "N", "CACHE_GROUPS" => "Y", "SET_LAST_MODIFIED" => "N", "SET_TITLE" => "Y", "INCLUDE_IBLOCK_INTO_CHAIN" => "N", "ADD_SECTIONS_CHAIN" => "Y", "ADD_ELEMENT_CHAIN" => "Y", "USE_PERMISSIONS" => "N", "DISPLAY_DATE" => "N", "DISPLAY_PICTURE" => "N", "DISPLAY_PREVIEW_TEXT" => "N", "USE_SHARE" => "N", "PREVIEW_TRUNCATE_LEN" => "", "LIST_ACTIVE_DATE_FORMAT" => "d.m.Y", "LIST_FIELD_CODE" => array(0=>"",1=>"",), "LIST_PROPERTY_CODE" => array(0=>"",1=>"",), "HIDE_LINK_WHEN_NO_DETAIL" => "N", "DISPLAY_NAME" => "Y", "META_KEYWORDS" => "-", "META_DESCRIPTION" => "-", "BROWSER_TITLE" => "-", "DETAIL_SET_CANONICAL_URL" => "N", "DETAIL_ACTIVE_DATE_FORMAT" => "d.m.Y", "DETAIL_FIELD_CODE" => array(0=>"",1=>"",), "DETAIL_PROPERTY_CODE" => array(0=>"",1=>"ZAVCATH",2=>"DISCIPLINE",3=>"",), "DETAIL_DISPLAY_TOP_PAGER" => "N", "DETAIL_DISPLAY_BOTTOM_PAGER" => "Y", "DETAIL_PAGER_TITLE" => "Страница", "DETAIL_PAGER_TEMPLATE" => "", "DETAIL_PAGER_SHOW_ALL" => "Y", "PAGER_TEMPLATE" => ".default", "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "Y", "PAGER_TITLE" => "Отделы", "PAGER_SHOW_ALWAYS" => "N", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "N", "PAGER_BASE_LINK_ENABLE" => "N", "SET_STATUS_404" => "N", "SHOW_404" => "N", "MESSAGE_404" => "", "SEF_FOLDER" => "/departments/", "FILTER_NAME" => "arrFilter", "FILTER_FIELD_CODE" => array(0=>"",1=>"",), "FILTER_PROPERTY_CODE" => array(0=>"",1=>"",), "SEF_URL_TEMPLATES" => array("news"=>"","section"=>"#SECTION_CODE#/","detail"=>"#ELEMENT_CODE#/",), "VARIABLE_ALIASES" => Array(), "VARIABLE_ALIASES" => Array( ) ) );?> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |
А как вывести название, описание и изображение аноноса раздела

Цитата |
---|
Евгений написал: Здравствуйте! А как вывести название, описание и изображение аноноса раздела |
Нужно получить ID секции и вот этим методом получить все нужные данные
https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getbyid.php
Пример там есть
Спасибо за уроки. Это ценно!
Подскажите, как в компоненте Новости вывести не весь список, а только те элементы, у которых настроенное определенное свойство?
В настройках свойств Инфоблока добавлено свойство "Тип" (см. скрин property)
В разделе лежат элементы с типом "новость" и "история" (см. скрин infotype)
Стандартным фильтром по свойству (см. скрин filter) - на страницу выводится выбор по Типу (либо одно, либо другое).
А мне в этой области нужен только один тип:"история" .
Пробую вот так:
<?
$GLOBALS['arrFilter'] = array("PROPERTY_50_VALUE" =>"история");
?>
<?$APPLICATION->IncludeComponent(
"bitrix:news",
"how_to_get_news",
array(
"ADD_ELEMENT_CHAIN" => "N", и т.д....
Не получается.

Цитата | ||
---|---|---|
Гость написал: Подскажите, как в компоненте Новости вывести не весь список, а только те элементы, у которых настроенное определенное свойство? В настройках свойств Инфоблока добавлено свойство "Тип" (см. скрин property) В разделе лежат элементы с типом "новость" и "история" (см. скрин infotype) Стандартным фильтром по свойству (см. скрин filter) - на страницу выводится выбор по Типу (либо одно, либо другое). А мне в этой области нужен только один тип:"история" . Пробую вот так:
Не получается. |
В самом выводе компонента новостей не забыли применить фильтр?
Код |
---|
$APPLICATION->IncludeComponent( "bitrix:news", "how_to_get_news", array( "FILTER_NAME" => "arrFilter", и т.д.... |
Цитата | ||||||
---|---|---|---|---|---|---|
написал:
В самом выводе компонента новостей не забыли применить фильтр?
|
Да, забыл.
Добавил, но сначала ничего не поменялось.
Проделал манипуляции заново.
И только после того как закомментировал в коде отображение фильтра - все заработало!
Спасибо большое. Помогли!
Нашел проблему с пагинацией.
На сайте есть раздел Истории и новости. https://domgdeteplo.ru/istorii-i-novosti/index.php#
Сверху три фильтрующие кнопки. Работают нормально, фильтруют.
Проблема в следующем:
Всего в инфоблоке у меня активных 5 историй и 15 новостей. Но отображаются они с косяками:
1. Нажимая на “Истории и новости” всегда показывает 1 историю и 12 новостей, кнопка “показывать по 4/8/12 не работает. Как это можно поправить?
2. Нажимая на “Только истории”, отображается только 1 история, пагинация отсутствует вообще. Как это поправить?
3. Нажимая на “Только новости”, отображается всегда только 12 новостей, и кнопка “показывать по 4/8/12” тоже не работает. Как это поправить?
Все три вида отображения заключены в единую включаемую область, т.е. шаблон пагинации один на все три вида страницы.
Код используемого шаблона пагинации - в файлике.

Большое спасибо за материал. Все работает.
Но самостоятельно никак не мог решить эту задачу.
В хлебных крошках отображались статьи определенной категории, а на странице не мог вывести.
Спасибо!