Новости (комплексный компонент)
Комплексный компонент позволяет создать новостной раздел на сайте. Доступен просмотр детальной информации, списка элементов, настройка экспорта в rss, организация голосования за новости (или другие элементы инфоблоков), настройка отзывов, вывода материалов по темам, настройки ЧПУ и многое другое.
Пример вызова
<?$APPLICATION->IncludeComponent(
"bitrix:news",
".default",
Array(
"DISPLAY_DATE" => "Y",
"DISPLAY_PICTURE" => "Y",
"DISPLAY_PREVIEW_TEXT" => "Y",
"SEF_MODE" => "N",
"IBLOCK_TYPE" => "news",
"IBLOCK_ID" => "33",
"NEWS_COUNT" => "5",
"USE_SEARCH" => "N",
"USE_RSS" => "Y",
"USE_RATING" => "N",
"USE_CATEGORIES" => "Y",
"USE_REVIEW" => "N",
"USE_FILTER" => "N",
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "SORT",
"SORT_ORDER2" => "ASC",
"PREVIEW_TRUNCATE_LEN" => "0",
"LIST_ACTIVE_DATE_FORMAT" => "d.m.Y",
"LIST_FIELD_CODE" => array(0=>"",),
"LIST_PROPERTY_CODE" => array(0=>"",),
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"DISPLAY_NAME" => "Y",
"META_KEYWORDS" => "KEYWORDS",
"META_DESCRIPTION" => "DESCRIPTION",
"DETAIL_ACTIVE_DATE_FORMAT" => "d.m.Y",
"DETAIL_FIELD_CODE" => array(0=>"",),
"DETAIL_PROPERTY_CODE" => array(0=>"SOURCE",),
"DETAIL_DISPLAY_TOP_PAGER" => "N",
"DETAIL_DISPLAY_BOTTOM_PAGER" => "Y",
"DETAIL_PAGER_TITLE" => "Страница",
"DETAIL_PAGER_TEMPLATE" => "",
"DISPLAY_PANEL" => "Y",
"SET_TITLE" => "Y",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "Y",
"USE_PERMISSIONS" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"CACHE_FILTER" => "N",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"PAGER_TITLE" => "Новости",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => "",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"NUM_NEWS" => "20",
"NUM_DAYS" => "360",
"YANDEX" => "N",
"CATEGORY_IBLOCK" => array(0=>"33",1=>"29",2=>"8",),
"CATEGORY_CODE" => "THEMES",
"CATEGORY_ITEMS_COUNT" => "4",
"VARIABLE_ALIASES" => Array(
"SECTION_ID" => "SECTION_ID",
"ELEMENT_ID" => "news"
)
)
);?>
Описание параметров
Дополнительно
- DISPLAY_DATE
- Вывод даты элементов.
- DISPLAY_PICTURE
- Вывод изображения для анонса.
- DISPLAY_PREVIEW_TEXT
- Вывод текст анонса для элементов.
Основные параметры
- IBLOCK_TYPE
- Тип информационного блока.
- IBLOCK_ID
- Код информационного блока.
- NEWS_COUNT
- Количество новостей на странице при постраничной навигации.
- USE_SEARCH
- Разрешить поиск. При установленной опции будет выведена форма поиска. Поиск будет осуществляться только в выводимой данным компонентом информации.
Настройки RSS
- USE_RSS
- Разрешен экспорт в RSS и доступны поля для спецификации настроек RSS.
- NUM_NEWS
- Количество новостей, экспортируемых в RSS.
- NUM_DAYS
- Количество дней для экспорта. Например, за последние 30 дней.
- YANDEX
- Экспортировать в диалект Яндекса. Опция служит для подключения формата для отправки новостей службе Яндекс.Новости и отличается дополнительной веткой, содержащей полный текст элемента информационного блока (DETAIL_TEXT). В этом случае элементы информационного блока выбираются за последние два дня без ограничения количества.
Настройки голосования
- USE_RATING
- Разрешить голосование. Посетители смогут голосовать за новости, выставляя баллы, на странице с детальной информацией. При установленной опции становятся доступными следующие поля:
- MAX_VOTE
- Максимальный балл.
- VOTE_NAMES
- Массив, в котором задаются подписи к баллам в таком виде:
"VOTE_NAMES" => Array("оч плохо","плохо","удв","хор","отл",""),
Если подписи заданы, то они будут выведены вместо оценок-цифр. Если массив не задан, то будут использованы значения по умолчанию.
Настройка материалов по теме
- USE_CATEGORIES
- Опция включает возможность вывода материалов по теме. Материалы в привязке к темам создаются следующим образом. Создается инфоблок (например, "темы"), в котором определяются будущие темы материалов в виде разделов. Разделы заполнять элементами не требуется. В настройках инфоблока, элементы которого предполагается привязывать к созданным темам, определятся свойство типа "Привязка к разделам" и выбирается инфоблок, в котором разделы являются темами. И далее для каждого из элементов этого инфоблока можно задать свойство привязки к теме.
- CATEGORY_IBLOCK
- Инфоблоки. Выбираются инфоблоки, из которых будет происходить выборка информации. В коде задается в виде массива.
array(0=>"33",1=>"29",2=>"8",),
- CATEGORY_CODE
- Код свойства, в котором хранится привязка элемента к определенному разделу (например, THEMES).
- CATEGORY_ITEMS_COUNT
- Максимальное количество материалов из одного инфоблока.
Настройки отзывов
- USE_REVIEW
- Разрешить отзывы. При установленной опции становятся доступными следующие поля:
- MESSAGES_PER_PAGE
- Количество сообщений на одной странице.
- USE_CAPTCHA
- Определяется вывод изображения и поля ввода CAPTCHA в форме добавления отзыва в публичной части.
- PATH_TO_SMILE
- Путь относительно корня сайта к папке со смайлами. Значение по умолчанию /bitrix/images/forum/smile/.
- FORUM_ID
- ID форума, созданного для отзывов посетителей.
- URL_TEMPLATES_READ
- Указывается относительный путь к странице чтения темы на форуме. Если поле пусто, путь к странице будет получен из настроек форума.
Настройки фильтра
- USE_FILTER
- Показывать фильтр. При отмеченной опции доступны следующие поля:
- FILTER_NAME
- Задается имя переменной, в которой передается массив параметров из фильтра. Служит для определения выходящих из фильтра элементов. Поле может быть оставлено пустым, тогда используется значение по умолчанию.
- FILTER_FIELD_CODE
- Выбрать нужные поля элементов инфоблока, по которым возможна фильтрация. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив:
Array("NAME","PREVIEW_TEXT","PREVIEW_PICTURE","DETAIL_TEXT",""),
- FILTER_PROPERTY_CODE
- Свойства элементов инфоблока, по которым будет возможна фильтрация. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив. Например,
Array("SOURCE","USER","","").
Источник данных
- SORT_BY1
- Поле для первой сортировки новостей:
- ID – по ID;
- sort – по индексу сортировки;
- timestamp_x – по дате изменения;
- name – по заголовку;
- active_from – по дате начала активности.
- SORT_ORDER1
- Направление для первой сортировки новостей:
- asc – по возрастанию;
- desc – по убыванию.
- SORT_BY2
- Поле для второй сортировки новостей.
- ID – по ID;
- sort – по индексу сортировки;
- timestamp_x – по дате изменения;
- name – по заголовку;
- active_from – по дате начала активности.
- SORT_ORDER2
- Направление для второй сортировки новостей.
- asc – по возрастанию;
- desc – по убыванию.
Управление адресами страниц
- SEF_MODE
- Включить поддержку ЧПУ.
- VARIABLE_ALIASES
- При отключенной опции SEF_MODE доступны поля для задания Идентификатора раздела (например, SECTION_ID) и Идентификатора новости (например, ELEMENT_ID). Данные поля хранятся в массиве идентификаторов раздела и новости, например:
"VARIABLE_ALIASES" => Array(
"SECTION_ID" => "SECTION_ID",
"ELEMENT_ID" => "ELEMENT_ID"
)
При включенной опции SEF_MODE доступны следующие параметры: - SEF_FOLDER
- Каталог ЧПУ (относительно корня сайта).
- SEF_URL_TEMPLATES
- В данном массиве определяются шаблоны адресов различных страниц в новостном разделе:
- Cтраница общего списка. Указывается путь к общему списку элементов. Переход на эту страницу будет происходить по ссылке Вернуться к списку.
- Страница раздела. Для перехода на страницу раздела в в качестве параметра должно передаваться ID раздела (#SECTION_ID#). По умолчанию поле содержит #SECTION_ID#/. Если разделы в инфоблоке не заданы, то поле требуется оставить пустым.
- Страница детального просмотра. Указывается путь к странице детального просмотра. В качестве параметра должно передаваться ID элемента.
- Страница поиска. Задается часть содержимого адресной строки при переходе к странице поиска. Например, search/.
- Страница RSS. Задается часть содержимого адресной строки при переходе к странице rss. Например, rss/.
- Страница RSS для раздела. Задается часть содержимого адресной строки при переходе к странице rss в каждом разделе. По умолчанию #SECTION_ID#/rss/.
"SEF_URL_TEMPLATES" => Array(
"news" => "list/",
"section" => "section/",
"detail" => "#ELEMENT_ID#/",
"search" => "search/",
"rss" => "rss/",
"rss_section" => "#SECTION_ID#/rss/"
),
В публичной части редактора путь к каждой странице задается в отдельном поле.
Настройки кеширования
- CACHE_TYPE
- Тип кеширования:
- А - Авто: действует при включенном автокешировании на странице Настройки кэширования (Настройки > Настройки продукта > Автокеширование) и при установленном времени кэширования в поле CACHE_TIME.
- Y - Кешировать: должно быть установлено время кеширования (CACHE_TIME). Настройки автокеширования не влияют на данный тип кеширования.
- N - Не кешировать: кеширование не происходит.
- CACHE_TIME
- Время кеширования в секундах.
- CACHE_FILTER
- Кешировать при установленном фильтре. Каждый результат, полученный из фильтра будет кешироваться. Имеет смысл отмечать, если многие пользователи используют одну и туже выборку из фильтра.
Дополнительные настройки
- DISPLAY_PANEL
- Добавлять кнопки в Административную панель в режиме редактирования сайта и в области редактирования данного компонента.
- SET_TITLE
- В качестве заголовка страницы установить имя текущего инфоблока.
- INCLUDE_IBLOCK_INTO_CHAIN
- В цепочку навигации будет добавлено имя инфоблока.
- ADD_SECTIONS_CHAIN
- При наличии разделов в инфоблоке и установленной опции при переходе по разделам в цепочку навигации будут добавлены названия разделов.
- USE_PERMISSIONS
- Использовать дополнительное ограничение доступа к детальной информации элементов инфоблока. При установленной опции становится доступным следующее поле:
- GROUP_PERMISSIONS
- Выбор групп пользователей, имеющих доступ к детальной информации.
Настройки детального просмотра
- DISPLAY_NAME
- Вывод названия элемента.
- META_KEYWORDS
- Установить ключевые слова страницы из свойства. Среди всех свойств, определенных для данного инфоблока, выбирается то, в котором содержатся ключевые слова.
- META_DESCRIPTION
- Установить ключевые слова страницы из свойств инфоблока.
- DETAIL_ACTIVE_DATE_FORMAT
- Формат показа даты. В выпадающем списке перечислены все возможные варианты показа даты, формируемые внутри компонента. Выбрав пункт (другое)> можно сформировать свой вариант на основании php-функции date.
Предустановленные варианты формата даты:
| Код | Формат даты |
| d-m-Y | 22-02-2007 |
| m-d-Y | 02-22-2007 |
| Y-m-d | 2007-02-22 |
| d.m.Y | 22.02.2007 |
| m.d.Y | 02.22.2007 |
| j M Y | 22 Фев 2007 |
| M j, Y | Фев 22, 2007 |
| j F Y | 22 Февраль 2007 |
| F j, Y | Февраль 22, 2007 |
| d.m.y g:i A | 22.02.07 7:30 AM |
| d.m.y G:i | 22.02.07 7:30 |
| d.m.Y H:i | 22.02.2007 07:30 |
- DETAIL_FIELD_CODE
- Поля, которые будут отображены на странице детального просмотра. Задается в виде массива с символьными именами полей в коде или в публичной части редактора, удерживая клавишу Ctrl. Если ничего не выбрано, то будут выведены поля по умолчанию.
- DETAIL_PROPERTY_CODE
- Свойства, которые будут отображены на странице детального просмотра. Задается в виде массива с символьными именами свойств в коде или в публичной части редактора, удерживая клавишу Ctrl. Если ничего не выбрано, то свойства отображены не будут.
Настройки списка
- PREVIEW_TRUNCATE_LEN
- Максимальная длина анонса для вывода (только для типа текст), после которой текст анонс будет отсечен.
- LIST_ACTIVE_DATE_FORMAT
- Формат показа даты. В выпадающем списке перечислены все возможные варианты показа даты, формируемые внутри компонента. Выбрав пункт (другое)>, вы можете сформировать свой вариант на основании php-функции date.
Предустановленные варианты формата даты:
| Код | Формат даты |
| d-m-Y | 22-02-2007 |
| m-d-Y | 02-22-2007 |
| Y-m-d | 2007-02-22 |
| d.m.Y | 22.02.2007 |
| m.d.Y | 02.22.2007 |
| j M Y | 22 Фев 2007 |
| M j, Y | Фев 22, 2007 |
| j F Y | 22 Февраль 2007 |
| F j, Y | Февраль 22, 2007 |
| d.m.y g:i A | 22.02.07 7:30 AM |
| d.m.y G:i | 22.02.07 7:30 |
| d.m.Y H:i | 22.02.2007 07:30 |
- LIST_FIELD_CODE
- Поля, которые будут отображены на странице списка элементов. Задается в виде массива с символьными именами полей в коде или в публичной части редактора, удерживая клавишу Ctrl. Если ничего не выбрано, то будут выведены поля по умолчанию.
- LIST_PROPERTY_CODE
- Свойства, которые будут отображены на странице списка элементов. Задается в виде массива с символьными именами свойств в коде либо в публичной части редактора, удерживая клавишу Ctrl. Если ничего не выбрано, то свойства отображены не будут.
- HIDE_LINK_WHEN_NO_DETAIL
- Скрывать ссылку, если нет детального описания или у пользователя нет прав на ее просмотр.
Настройки постраничной навигации детального просмотра
- DISPLAY_TOP_PAGER
- Навигация по страницам будет выведена вверху страницы, над списком.
- DISPLAY_BOTTOM_PAGER
- Навигация по страницам будет выведена внизу страницы, под списком.
- PAGER_TITLE
- Название категорий, по которым происходит перемещение при детальном просмотре (например, страница, глава и др.).
- PAGER_SHOW_ALWAYS
- Выводить всегда. Постраничная навигация будет выводиться, даже если все элементы помещаются на одной странице.
- PAGER_TEMPLATE
- Название шаблона постраничной навигации. Если поле пусто, то выбирается шаблон по умолчанию (.default). Также в системе задан шаблон orange.
- PAGER_DESC_NUMBERING
- Использовать обратную навигацию, когда меняется лишь последняя страница при добавлении нового элемента. Это происходит, если новые элементы попадают всегда вверх списка (отсортированы по дате начала активности по убыванию). Эти страницы удобно закешировать на длительный срок
- PAGER_DESC_NUMBERING_CACHE_TIME
- Время кеширования страниц для обратной навигации.