Бітрікс компоненти

В системі Bitrix закладена досить популярна архітектура: розділення даних, подання та обробки дій користувача на три окремих компонента.
Дана архітектура іменується як MVC (Model-view-controller, «Модель-вистава-поведінка»), і широко застосовується для проектування різних програмних продуктів.

У свою чергу шаблон MVC для Bitrix Framework формується з наступних частин:
Модель - це API;
Уявлення - це шаблони;
Контролер - це компонент;

У даній статті ми поговоримо про компоненті Bitrix.
Компонент - це контролер і уявлення для використання в публічному розділі. Компонент за допомогою API одного або декількох модулів маніпулює даними. Шаблон компонента (подання) виводить дані на сторінку.

Далі від теорії до практики. Розглянемо структуру простого компонента Bitrix.

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

Стандартні компоненти Bitrix зберігаються в каталозі / bitrix / components / bitrix /. Як стверджують розробники: компоненти знаходяться в даному каталозі можуть перезаписуватися при оновленні, і для кастомізації компонентів переважно заводити окремий каталог для своїх компонентів.

У зв'язку з цим в каталозі / bitrix / components / заводимо новий каталог, в якому будуть зберігатися наші компоненти.

Дамо йому ім'я custom. Тепер створимо каталог для нашого компонента /bitrix/components/custom/sections.list/. Звична структура папок і файлів простого компонента виглядає так:
- help
- images
- lang
- templates
.description.php
.parameters.php
component.php

Розглянемо все це по порядку.
В папці help зазвичай лежить файл .tooltips.php. що містить масив спливаючих підказок для налаштувань компонента. Не будемо на ньому зупинятися, приклад цього файлу можна подивитися в інших компонентах.
В папці images зазвичай лежить іконка компонента.
В папці lang лежать папки для мовних параметрів компонента.
В папці templates - всі шаблони компонента.
Можна відразу зробити шаблон за замовчуванням для нашого компонета. Повний шлях до нього буде виглядати так: /bitrix/components/custom/sections.list/templates/.default/template.php.
Вставити туди поки одну єдину строчку «Це шаблон компонента custom: sections.list».

У файл .description.php прописуємо наступний код:

Отже, файл містить масив з описом компонента.
Далі слід файл - .parameters.php:

Розглянемо вміст файлу більш докладно. Ключ PARAMETERS масиву $ arComponentParameters являє собою масив з описом параметрів. Наш компонент буде містити тільки один основний параметр - IBLOCK_ID (ID Інфоблоки, з якого будуть показуватися розділи).
ключі:
NAME - назва параметра;
TYPE - тип;
MULTIPLE - множинність (якщо 'Y', то наш параметр зможе приймати масив значень);
PARENT - батько (параметри можна ділити на групи);

Зверніть увагу на другий параметр CACHE_TIME - він за замовчуванням для компонентів Bitrix і встановлює час кешування.

З масиву $ arComponentParameters буде згенеровано масив $ arParams, який буде використовуватися в основному файлі нашого компонента - component.php

Вміст файлу component.php:

шаблон компонента

Наступний крок - створення шаблону для компонента. Шаблон приймає масив $ arResult, згенерований у файлі component.php і виводить його вміст в браузер. Файл шаблону нашого компонента буде знаходитися за наступним шляхом: /bitrix/components/custom/sections.list/templates/.default/template.php
Код в шаблоні компонента:

виклик компонента

Після створення компонента його необхідно викликати в потрібному ділянці коду на сайті. Для цього створимо в корені сайту файл test.php, і пропишемо в нього наступний код:

Схожі статті