Bitrix Help
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Главная » Разработка Битрикс » Компоненты » Создание компонента в Битрикс — полное руководство для разработчиков

Создание компонента в Битрикс — полное руководство для разработчиков

Обновлено: 2026 • Раздел: Компоненты


Компоненты в 1C-Битрикс — это основной способ построения логики отображения данных. Они позволяют инкапсулировать бизнес-логику, управлять выводом и повторно использовать код в разных частях проекта.

Краткий ответ

Компонент в Битрикс создаётся в директории /local/components/ и состоит минимум из файла component.php и шаблона template.php.

/local/components/vendor/component.name/
    component.php
    .description.php
    .parameters.php
    templates/.default/template.php

Структура компонента

Стандартный компонент Битрикс имеет следующую структуру:

/local/components/vendor/news.list/
    component.php
    .description.php
    .parameters.php
    /templates/.default/
        template.php
        style.css
        script.js
        result_modifier.php

Создание простого компонента

1. Файл component.php


<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
    die();
}

$arResult = [
    'DATE' => date('d.m.Y H:i:s'),
];

$this->includeComponentTemplate();

2. Шаблон template.php


<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); ?>

<div class="component-date">
    Текущая дата: <?= $arResult['DATE'] ?>
</div>

Описание компонента (.description.php)


<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
    die();
}

$arComponentDescription = [
    "NAME" => "Простой компонент даты",
    "DESCRIPTION" => "Вывод текущей даты и времени",
    "PATH" => [
        "ID" => "custom",
        "NAME" => "Мои компоненты"
    ]
];

Параметры компонента (.parameters.php)


<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
    die();
}

$arComponentParameters = [
    "PARAMETERS" => [
        "CACHE_TIME" => [
            "PARENT" => "BASE",
            "NAME" => "Время кеширования",
            "TYPE" => "STRING",
            "DEFAULT" => 3600
        ]
    ]
];

Использование result_modifier.php

Файл result_modifier.php позволяет модифицировать $arResult перед выводом шаблона.

<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
    die();
}

$arResult['FORMATTED_DATE'] = strtoupper($arResult['DATE']);

Подключение компонента на странице


<?php

$APPLICATION->IncludeComponent(
    "vendor:component.name",
    "",
    [
        "CACHE_TIME" => 3600
    ]
);

Типичные ошибки

1. Отсутствие проверки B_PROLOG_INCLUDED


if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
    die();
}
Без этой проверки компонент может быть вызван напрямую.

2. Неправильная структура папок

Битрикс не распознаёт компонент, если отсутствует корректная структура /local/components/.

3. Отсутствие includeComponentTemplate()

Если не вызвать $this->includeComponentTemplate(), шаблон не будет подключён.

4. Игнорирование кеширования

Отсутствие кеширования может значительно снизить производительность сайта.

5. Перегрузка логики в template.php

Вся бизнес-логика должна находиться в component.php, а не в шаблоне.

Лучшие практики

FAQ

Где хранить компоненты в Битрикс?

Рекомендуется использовать директорию /local/components/, а не /bitrix/components/.

Можно ли создать компонент без шаблона?

Нет, компонент всегда должен иметь хотя бы один шаблон.

Что такое кеширование компонента?

Это механизм хранения результата выполнения компонента для ускорения загрузки страницы.

Можно ли использовать несколько шаблонов?

Да, один компонент может иметь несколько шаблонов в папке templates.

Заключение

Создание компонента в Битрикс — это базовый навык любого разработчика. Правильная структура, использование кеширования и разделение логики позволяют создавать масштабируемые и быстрые проекты.
Услуги


База знаний