Створення простого компонента бітрікс, записки про веб

В папці help зазвичай лежить файл .tooltips.php, що містить масив спливаючих підказок для налаштувань компонента. Не будемо на ньому зупинятися, приклад цього файлу можна подивитися в інших компонентах. В папці images зазвичай лежить іконка компонента. В папці lang лежать папки для мовних параметрів компонента. В папці templates - всі шаблони компонента.

Можна відразу зробити дефолтних шаблон для нашого компонета. Повний шлях до нього буде виглядати так: /bitrix/components/user/elements/templates/.default/template.php. Вставити туди поки одну єдину строчку "Це дефолтний шаблон компонента user: elementst".

Вирішимо найпростіше завдання - нехай наш компонент повинен буде виводити значення елементів іфоблока.

Помістимо в файл .description.php наступний код :;

Масив з описом компонента. Наступний файл - .parameters.php:

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

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

Сам код нашого компонента не складний - в залежності від отриманого параметра (ID Інфоблоки) ми робимо вибірку розділів і зберігаємо їх в масив $ arResult. Слід звернути увагу на виклик методу $ this-> StartResultCache (). Він перевіряє, чи є у нашого компонента актуальний кеш. Якщо він є, то виводиться інформація з кеша. Отже, в запиті до бази немає, масив $ arResult не генерується, і навіть шаблон НЕ подлючается (метод $ this-> IncludeComponentTemplate ()).

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

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

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

Тепер все готово, залишилося тільки викликати наш компонент. Як ми пам'ятаємо, компоненти викликаються в публічній частині сайту. Створимо прямо в корені сайту файл test.php:

Схожі статті