Создание компонента
Компоненты создаются в следующих папках:
- local/components/mycomponent/ (рекомендуется)
- bitrix/components/mycomponent/
Папка «mycomponent» является пространством имён для Bitrix. Внутри данной папки создаются сами компоненты, которые можно будет вызвать примерно такими именами:
'mycomponent:blog', // local/components/mycomponent/blog/ 'mycomponent:calendar', // local/components/mycomponent/calendar/ 'mycomponent:date' // local/components/mycomponent/date/
Внутри каждой папки компонента должны быть три обязательных файла.
- mycomponent/blog/component.php или class.php (код компонента)
- mycomponent/blog/.description.php (описание компонента)
- mycomponent/blog/templates/.default/template.php (шаблон компонента)
Есть два способа создания компонента, через файл «component.php» или «class.php». Второй способ создаёт компонент через ООП.
Шаг 1: Подключение шаблона
В файле «component.php» или «class.php» надо добавить следующий код, который позволит загружать контент из файла «template.php».
# 1-ый способ (component.php) $this->IncludeComponentTemplate(); # 2-ой способ (class.php) class Custom extends CBitrixComponent { public function executeComponent() { $this->IncludeComponentTemplate(); } }
Также в методе IncludeComponentTemplate()
можно указать другой шаблон.
# component.php $this->IncludeComponentTemplate('list'); // загрузится шаблон list.php
Чтобы передать переменные в шаблон компонента, надо в файле «component.php» или «class.php» создать массив $arResult
.
// Создание переменной в компоненте $arResult['VAR'] = 'Переменная'; // component.php $this->arResult['VAR'] = 'Переменная'; // class.php # Использование в шаблоне (templates/.default/template.php) echo $arResult['VAR']; // Переменная
Шаг 2: Файл настроек
Файлы «template.php» и «.description.php» заполнять не обязательно, но можно указать настройки в файле «.description.php»:
# .description.php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true) {die();} $arComponentDescription = array( 'NAME' => 'Имя компонента', 'DESCRIPTION' => 'Описание компонента', );
Пример настройки компонента:
Шаг 3: Вывод компонента
Компонент создан. Его можно вызвать на странице редактирования шаблона через следующий код:
$APPLICATION->IncludeComponent( 'mycomponent:blog' );
На месте данного кода появится контент из файла «template.php»
Поддержать автора