В папці 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: