Поставимо собі задачу зробити модуль, який би просто при інсталяції ставив кoмпонент, який ми зробили з вами в минулій статті.
Всі модулі Бітрікс розташовуються в папці / bitrix / modules /, наш модуль не є винятком і також буде розташовуватися в цій же папці.
Структура обов'язкових файлів модуля:
- / Bitrix / modules / ID модуля / - кореневої каталог модуля
- / Admin / - каталог з адміністративними скриптами модуля
- menu.php - файл з адміністративним меню модуля
- / Classes / - скрипти з класами модуля
- / General / - класи модуля не залежать від використовуваної бази даних
- / Mysql / - класи модуля призначені для роботи тільки з MySQL
- / Oracle / - класи модуля призначені для роботи тільки з Oracle
- / Lang / ID мови / - каталог з мовними файлами скриптів модуля
- / Admin / - каталог з адміністративними скриптами модуля
- / Install / - каталог з файлами використовуваними для інсталяції та деінсталяції модуля
- / Admin / - каталог зі скриптами які підключають адміністративні скрипти модуля (викликають скрипти)
- / Admin / - каталог зі скриптами які підключають адміністративні скрипти модуля (викликають скрипти)
- / Db / - каталог з SQL скриптами для інсталяції / деінсталяції бази даних
- / Mysql / - SQL скрипти для інсталяції / деінсталяції таблиць в MySQL
- / Oracle / - SQL скрипти для інсталяції / деінсталяції таблиць в Oracle
- / Images / - каталог з зображеннями використовуваними модулем; після інсталяції модуля вони повинні бути скопійовані в каталог / bitrix / images / ID модуля /
- / ID модуля / - каталог з основними файлами компонент
- / Lang / ID мови / ID модуля / - в даному каталозі знаходяться мовні файли компонент модуля
ADMIN_MODULE_NAME - ідентифікатор модуля;
ADMIN_MODULE_ICON - HTML код для великої іконки модуля виведеної над заголовком сторінки.
У структуру модуля можуть входити будь-які інші файли і папки, які ви побажаєте.
Визначимо структуру нашого модуля
Очевидно, що нам не потрібно інсталювати картинки, шаблони, а так само для вирішення нашої задачі не потрібні адміністративні скрипти і скрипти, які викликають адміністративні, також не потрібні. Та й нових класів в модулі декларуватися не буде.
Таким чином, структура модуля буде такою:
/ Install /
/install/index.php
/install/step1.php
/install/unstep1.php
/ Install / components / - Створюємо собстенних папку для розміщення наших компонентів
/ Install / components / elements / - наш компонент створений в статті Створення простого компонента Бітрікс
Вся ця структура повинна розташовуватися в папці / bitrix / modules / dev_module. Таким чином dev_module буде папкою нашого модуля.
Основний файл, код якого відповідає власне за інсталяцію / деінсталяцію модуля - це /install/index.php Код його наведено нижче:
У цьому файлі створюється новий клас - клас нашого модуля dev_module як нащадок CModule. Далі йде визначення конструктора dev_module (), в якій відбувається визначення змінних для виведення інформації про модулі в списку модулів Бітрікс.
Метод DoInstall () буде викликатися при натисканні на кнопку «Встановити» в списку модулів адміністративної панелі.
Відповідно, DoUninstall () - при натисканні на кнопку «Видалити».
У методах цього класу викликаються так чи інакше файли /install/step.php. /install/unstep.php. Це файли, які показуються при установці і деінсталяції модуля, відповідно.
Якщо потрібен багатокроковий установник, то слід створити файли step2.php, step3.php і т.д.
Код файлів нижче: