Как подключить компонент на страницу в Битрикс: с чего начать
Список новостей, каталог или форма появятся на странице Битрикс после одного вызова IncludeComponent. Разберём, что подготовить заранее, куда вставить код и как проверить результат на каждом шаге.

Один вызов $APPLICATION->IncludeComponent выводит на странице Битрикс список новостей, каталог или форму. Если инфоблок с данными уже есть, на всё уйдёт 15-20 минут. Если его нет, столько же понадобится на создание. В конце у вас будет рабочая страница со списком элементов и понимание, где менять параметры.
Что нужно иметь до начала
Проверьте пять пунктов, чтобы не споткнуться на середине.
- Доступ в административный раздел сайта на «1С-Битрикс: Управление сайтом». Вызов компонента, который мы разберём, работает в ядре много лет. Названия пунктов меню в вашей версии могут отличаться, а имена параметров ниже стоит сверить с документацией.
- Право на правку PHP-кода. Если в меню действий страницы нет пункта правки как PHP, у вашей группы пользователей нет такого права. Выдаёт его администратор сайта.
- Инфоблок хотя бы с одним активным элементом. Понадобятся его числовой ID и символьный код типа. Оба значения видны в разделе «Контент → Инфоблоки → Типы инфоблоков и инфоблоки».
- Страница, на которую вы добавите компонент. Она должна открываться на сайте и показывать шаблон сайта: шапку, подвал, меню.
- Копия файла страницы. Скопируйте код в заметки, прежде чем править.
Если у вас нет доступа в админку, но есть SFTP или SSH, подойдёт тот же код. Файл страницы лежит в корне сайта по тому же пути, что и адрес в браузере.
Пошаговая инструкция
- Откройте нужную страницу в структуре сайта. Перейдите в «Контент → Структура сайта → Файлы и папки» и найдите папку страницы. Если страницы ещё нет, создайте её в этом же разделе. Проверка: страница открывается на сайте по своему адресу и выводит шапку и подвал.
- Откройте страницу в режиме правки как PHP. Он вызывается из меню действий файла. Проверка: перед вами текстовый редактор с кодом, где есть строка с
/bitrix/header.php. - Вставьте вызов компонента между подключением шапки и подвала. Ниже страница целиком. Замените
newsи3на код типа и ID вашего инфоблока.
Первая строка файла должна начинаться с<?php // Подключаем ядро и шапку сайта: после этой строки доступен объект $APPLICATION require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/header.php'); // Заголовок страницы (тег title и h1, если шаблон его выводит) $APPLICATION->SetTitle('Новости'); $APPLICATION->IncludeComponent( 'bitrix:news.list', // простой компонент: список элементов инфоблока '', // пустая строка: шаблон по умолчанию [ 'IBLOCK_TYPE' => 'news', // символьный код типа инфоблока, замените на свой 'IBLOCK_ID' => '3', // ID инфоблока, замените на свой 'NEWS_COUNT' => '10', // сколько элементов показать 'SORT_BY1' => 'ACTIVE_FROM', // сортировка по дате начала активности 'SORT_ORDER1' => 'DESC', // сначала новые 'CACHE_TYPE' => 'N', // на время отладки кеш выключен 'CACHE_TIME' => '3600', // время жизни кеша в секундах 'SET_TITLE' => 'N', // не менять заголовок, заданный выше ], false // без привязки к родительскому компоненту ); // Подключаем подвал сайта require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/footer.php');<?phpбез пробелов и пустых строк перед ней. Проверка: файл сохраняется без сообщений об ошибке. - Откройте страницу на сайте и обновите её без кеша браузера. Проверка: под заголовком появился список до 10 элементов, свежие сверху.
- Включите режим правки на панели управления и наведите курсор на список. Проверка: вокруг компонента появилась рамка со значком настроек. Через него открывается форма параметров. Это самый надёжный способ узнать точные имена параметров своей версии: сохраните форму, и редактор перепишет вызов в файле.
Тот же результат можно получить без правки кода. В визуальном редакторе страницы есть панель компонентов: перетащите нужный на страницу, заполните параметры, сохраните. Редактор сам запишет в файл такой же вызов.
Что вписывать в параметры
| Параметр | Что вписать | Где взять |
|---|---|---|
| IBLOCK_TYPE | Символьный код типа инфоблока | Контент → Инфоблоки → Типы инфоблоков и инфоблоки |
| IBLOCK_ID | Числовой ID инфоблока | Та же таблица, колонка ID |
| NEWS_COUNT | Сколько элементов выводить | На ваше усмотрение |
| SORT_BY1, SORT_ORDER1 | Поле сортировки и направление: ASC или DESC | ACTIVE_FROM с DESC даёт порядок от новых к старым |
| CACHE_TYPE | A, Y или N | N выключает кеш, Y включает, A работает по общей настройке сайта |
| CACHE_TIME | Секунды | 3600 означает час |
| SET_TITLE | Y или N | N оставляет заголовок, заданный через SetTitle |
Правьте вызов на странице и копию шаблона в папке сайта. Файлы в /bitrix/components/bitrix/ при обновлении перезапишутся, и ваши правки пропадут.
Инфоблок - хранилище однотипных записей со своим набором полей: новости, товары, вакансии. Компонент читает записи из инфоблока и выводит их через шаблон.
Если не получилось
- Белый экран или ошибка 500. Скорее всего, синтаксическая ошибка в PHP: потерянная точка с запятой, незакрытая скобка или запятая. Если ошибки скрыты настройками, смотрите лог PHP на сервере. Там будет строка вида
Parse error: syntax error, unexpectedс номером строки. - Call to a member function IncludeComponent() on null. Вызов стоит раньше подключения
header.phpили это подключение пропало. Объект$APPLICATIONсоздаётся ядром, поэтому вызов должен идти послеrequireшапки. - Cannot modify header information - headers already sent. Перед
<?phpв файле остался пробел, пустая строка или BOM. Удалите всё, что стоит до открывающего тега. - На месте компонента пусто. Проверьте
IBLOCK_ID, наличие активных элементов, дату их активности (ACTIVE_FROM и ACTIVE_TO) и права доступа на инфоблок. Пустой вывод не всегда ошибка: компонент просто не нашёл, что показать. - Поменяли параметр, на сайте всё по-старому. Это кеш. Оставьте
CACHE_TYPEравнымNна время отладки или очистите кеш в разделе «Настройки → Производительность».
Что делать дальше
Прежде чем выкладывать страницу, верните кеш: поставьте CACHE_TYPE в A и проверьте, что автокеширование на сайте включено. Без кеша каждое открытие страницы идёт в базу.
Затем скопируйте шаблон компонента в шаблон сайта (в админке для этого есть отдельная команда) и правьте уже копию. Так внешний вид останется при обновлениях ядра. Если нужны список и страница элемента с адресами, посмотрите комплексный компонент bitrix:news. Он собирает их вместе, но это отдельная тема.
Проверка рекламы на риски: Что в макете вызовет вопросы ФАС: превосходные степени, сравнения, обещания результата, маркировка.
Спросить за 40 ₽Источники: Документация для разработчиков 1С-Битрикс, Пользовательская документация 1С-Битрикс: Управление сайтом, раздел о компонентах
Частые вопросы
Можно ли подключить компонент без правки PHP?
Чем bitrix:news.list отличается от bitrix:news?
Что делать, если у меня другая версия Битрикса или параметр не сработал?
Какие подводные камни ждут в продакшене?
Можно ли вывести компонент не на одной странице, а на всех?
Можно ли подключить два компонента на одной странице?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.