Блог Горошко Андрея 1C-Битрикс Создание простого компонента Битрикс с нуля: Пошаговое руководство

Создание простого компонента Битрикс с нуля: Пошаговое руководство

Средний рейтинг
Еще нет оценок

Создание собственных компонентов — это основа профессиональной разработки на Битрикс. Это позволяет инкапсулировать логику, делать код переиспользуемым и следовать стандартам платформы. Давайте создадим простой компонент «Hello, World!», который будет выводить приветствие, настраиваемое через параметры.

Шаг 1: Создаем папки и файлы

Все кастомные разработки должны находиться в папке /local/. Это гарантирует, что они не будут затронуты обновлениями системы.

  1. Создайте структуру папок:
    /local/components/mycomponents/helloworld/
    • mycomponents — это ваше «пространство имен» (namespace), чтобы ваши компоненты не пересекались с чужими.
    • helloworld — название нашего компонента.
  2. Внутри папки 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: Размещение компонента на странице

Теперь можно разместить компонент на любой странице сайта.

  1. Откройте страницу в режиме редактирования.
  2. В списке компонентов найдите группу «Мои компоненты» и перетащите на страницу компонент «Мое приветствие».
  3. В настройках компонента вы увидите поле «Текст приветствия». Измените его и сохраните.

Или вставьте код вызова в PHP-код страницы:

<?$APPLICATION->IncludeComponent(
    "mycomponents:helloworld",
    ".default",
    Array(
        "GREETING_TEXT" => "Привет, Битрикс-разработчик!"
    )
);?>

Поздравляем! Вы только что создали свой первый компонент. Теперь вы можете усложнять его логику в component.php, добавлять новые параметры в .parameters.php и создавать разные шаблоны для вывода в папке templates. Это основа для создания любого функционала на Битрикс.

Создание компонента Битрикс, свой компонент, .description.php, .parameters.php, component.php, template.php, namespace, кастомный компонент.

Мой рейтинг:

Добавить комментарий

Related Post

Правильное использование BB кода в 1С-БитриксПравильное использование BB кода в 1С-Битрикс

Средний рейтинг Еще нет оценок В 1С-Битрикс BB код используется для форматирования текста в различных модулях, таких как форумы, задачи, блоги и комментарии. Для его обработки используется класс CTextParser. Вот

Транзакции в Битрикс: Как обеспечить целостность данных с startTransaction, commit и rollbackТранзакции в Битрикс: Как обеспечить целостность данных с startTransaction, commit и rollback

Средний рейтинг Еще нет оценок Представьте ситуацию: вам нужно списать деньги с одного счета и зачислить их на другой. Это две отдельные SQL-операции (UPDATE). Что, если первая выполнится успешно, а

Чем отличается ядро D7 bitrix и bitrix старое ядроЧем отличается ядро D7 bitrix и bitrix старое ядро

Средний рейтинг Еще нет оценок D7 Bitrix — это новое ядро Битрикс, которое было создано для замены старого ядра. D7 Bitrix является новым ядром разработки, которое было введено в версии