Создание собственных компонентов — это основа профессиональной разработки на Битрикс. Это позволяет инкапсулировать логику, делать код переиспользуемым и следовать стандартам платформы. Давайте создадим простой компонент «Hello, World!», который будет выводить приветствие, настраиваемое через параметры.
Шаг 1: Создаем папки и файлы
Все кастомные разработки должны находиться в папке /local/. Это гарантирует, что они не будут затронуты обновлениями системы.
- Создайте структуру папок:
/local/components/mycomponents/helloworld/- mycomponents — это ваше «пространство имен» (namespace), чтобы ваши компоненты не пересекались с чужими.
- helloworld — название нашего компонента.
- Внутри папки helloworld создайте 4 файла:
- .description.php
- .parameters.php
- component.php
- templates/.default/template.php (включая вложенные папки)
Шаг 2: Описание компонента — .description.php
Этот файл нужен, чтобы ваш компонент появился в визуальном редакторе.
// /local/components/mycomponents/helloworld/.description.php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentDescription = [
"NAME" => "Мое приветствие",
"DESCRIPTION" => "Выводит настраиваемое приветствие.",
"PATH" => [
"ID" => "mycomponents", // ID нашей группы компонентов
"NAME" => "Мои компоненты" // Название группы
],
];
Шаг 3: Параметры компонента — .parameters.php
Здесь мы описываем настройки, которые будут доступны пользователю.
// /local/components/mycomponents/helloworld/.parameters.php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = [
"PARAMETERS" => [
"GREETING_TEXT" => [
"PARENT" => "BASE", // Группа "Основные параметры"
"NAME" => "Текст приветствия",
"TYPE" => "STRING", // Тип поля - строка
"DEFAULT" => "Hello, World!", // Значение по умолчанию
],
],
];
Шаг 4: Логика компонента — component.php
Это «сердце» компонента. Он принимает параметры, обрабатывает их и готовит данные для вывода.
// /local/components/mycomponents/helloworld/component.php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
/** @var CBitrixComponent $this */
/** @var array $arParams */
/** @var array $arResult */
// Получаем текст из параметров, применяем htmlspecialchars для безопасности
$arResult["GREETING"] = htmlspecialchars($arParams["GREETING_TEXT"]);
// Добавим текущее время для примера
$arResult["CURRENT_TIME"] = date('H:i:s');
// Подключаем шаблон
$this->includeComponentTemplate();
- $arParams содержит значения, введенные в настройках (GREETING_TEXT).
- Мы обрабатываем эти значения и кладем результат в $arResult.
- $this->includeComponentTemplate(); передает управление шаблону.
Шаг 5: Шаблон компонента — template.php
Это «лицо» компонента. Он отвечает только за вывод данных из $arResult.
// /local/components/mycomponents/helloworld/templates/.default/template.php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
/** @var array $arParams */
/** @var array $arResult */
?>
<div style="padding: 20px; border: 1px solid #00a2df; color: #00a2df;">
<h2><?= $arResult["GREETING"] ?></h2>
<p>Текущее время на сервере: <?= $arResult["CURRENT_TIME"] ?></p>
</div>
Шаг 6: Размещение компонента на странице
Теперь можно разместить компонент на любой странице сайта.
- Откройте страницу в режиме редактирования.
- В списке компонентов найдите группу «Мои компоненты» и перетащите на страницу компонент «Мое приветствие».
- В настройках компонента вы увидите поле «Текст приветствия». Измените его и сохраните.
Или вставьте код вызова в PHP-код страницы:
<?$APPLICATION->IncludeComponent(
"mycomponents:helloworld",
".default",
Array(
"GREETING_TEXT" => "Привет, Битрикс-разработчик!"
)
);?>
Поздравляем! Вы только что создали свой первый компонент. Теперь вы можете усложнять его логику в component.php, добавлять новые параметры в .parameters.php и создавать разные шаблоны для вывода в папке templates. Это основа для создания любого функционала на Битрикс.
Создание компонента Битрикс, свой компонент, .description.php, .parameters.php, component.php, template.php, namespace, кастомный компонент.