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

Поставимо собі задачу зробити модуль, який би просто при інсталяції ставив кoмпонент, який ми зробили з вами в минулій статті.

Всі модулі Бітрікс розташовуються в папці / bitrix / modules /, наш модуль не є винятком і також буде розташовуватися в цій же папці.

Структура обов'язкових файлів модуля:

  • / Bitrix / modules / ID модуля / - кореневої каталог модуля
    • / Admin / - каталог з адміністративними скриптами модуля
      • menu.php - файл з адміністративним меню модуля
    • / Classes / - скрипти з класами модуля
      • / General / - класи модуля не залежать від використовуваної бази даних
      • / Mysql / - класи модуля призначені для роботи тільки з MySQL
      • / Oracle / - класи модуля призначені для роботи тільки з Oracle
    • / Lang / ID мови / - каталог з мовними файлами скриптів модуля
    • / Install / - каталог з файлами використовуваними для інсталяції та деінсталяції модуля
      • / Admin / - каталог зі скриптами які підключають адміністративні скрипти модуля (викликають скрипти)
      • / Db / - каталог з SQL скриптами для інсталяції / деінсталяції бази даних
        • / Mysql / - SQL скрипти для інсталяції / деінсталяції таблиць в MySQL
        • / Oracle / - SQL скрипти для інсталяції / деінсталяції таблиць в Oracle
      • / Images / - каталог з зображеннями використовуваними модулем; після інсталяції модуля вони повинні бути скопійовані в каталог / bitrix / images / ID модуля /
      • / Templates / - каталог з компонентами модуля
        • / ID модуля / - каталог з основними файлами компонент
        • / Lang / ID мови / ID модуля / - в даному каталозі знаходяться мовні файли компонент модуля
      • index.php - файл з описом модуля
    • include.php - даний файл підключається в той момент коли мова йде про підключення модуля в коді, в ньому повинні знаходитися включення всіх файлів з бібліотеками функцій і класів модуля
    • default_option.php - містить масив з ім'ям $ ID модуля_default_option. в якому задані значення за замовчуванням для параметрів модуля
    • options.php - даний файл підключається на сторінці налаштування параметрів модулів в адміністративному меню "Налаштування"
    • prolog.php - файл повинен підключатися в усіх адміністративних скриптах модуля, крім усього іншого в ньому повинні бути визначені наступні дві константи:
      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 і т.д.

Код файлів нижче:

Схожі статті