Створення власних модулів

Sergey Leshchenko. Якщо код часто використовується повторно, то його краще винести в модуль. Витратити на це зайві годину-дві, але зате не ловити потім фатальні баги відразу на всіх проектах одночасно, коли хтось, завдяки випадку або не знанню, вніс якісь специфічні зміни в цей код. І модуль винести в маркетплейс, щоб накочувати апдейти зручніше було.

створення модуля

Партнерські модулі відрізняються від стандартних модулів наступним:

  • код модуля - повний код партнерського модуля, який задається в форматі: код_партнера.код_модуля.

Частина код_партнера постійна для партнера (задається в картці партнера). Частина код_модуля вводиться партнером при додаванні нового модуля. Ці коди повинні бути алфавітно-цифровими, але першим символом не може бути цифра, і код якимось чином повинен відповідати суті модуля. Наприклад, для модуля форуму бажано поставити код forum. Тоді повний код буде mycompany.forum. Використання точки для поділу id партнера і модуля необхідно, інакше ваш модулів не буде видно в списку встановлених рішень Marketplace, а потрапить в список системних модулів, що є некоректною ситуацією.

Важливо! Код модуля обов'язково повинен бути заданий в нижньому регістрі. інакше не буде працювати метод IncludeModule.

Код не повинен починатися з цифри - це може перешкодити встановленню модуля. Також забороняється використання підкреслення "_".

  • У файлі /install/index.php крім тієї інформації, яка задається в будь-якому стандартному модулі, необхідно ще вказати:

    У клієнта ця інформація буде доступна в списку модулів.

    Увага! Модуль необхідно створювати в кодуванні windows-1251, при установці його на сайт з кодуванням UTF-8 відбувається автоматична перекодування.

    Пам'ятайте, що в Bitrix Framework прийнято, що версія не може бути рівною 0, тобто 0.0.1 - мінімальний номер версії.

    Пам'ятайте, що тільки мовні файли з папки / ru / конвертуються в кодування сайту.

    Інфоблоки або таблиці БД?

    Максим місив. Інфоблоки відмінно підходять для прототипування і макетування функціоналу. На рівні свого застосування (модуля) робите прошарок, яка відповідає за зберігання даних і починаєте використовувати Інфоблоки.

    Якщо ви упретеся в продуктивність або особливості роботи ІБ, то просто змініть найнижчий рівень. У моїй практиці такого поки не траплялося.

    При створенні власних модулів у розробників часто виникає питання: при написанні власного модуля що доцільніше: використання Інфоблоки або власні таблиці? Відповідь на це питання залежить від розв'язуваної задачі. Наявність в Bitrix Framework Інфоблоки не означає обов'язковості їх використання для реалізації своїх модулів.

    Інфоблоки - це універсальність. З цієї причини:

    • Інфоблоки часто надлишкові за своїми можливостями;
    • При використанні Інфоблоки розробник може працювати з модулем як зі звичайним компонентом, не потрібно допрацьовувати API (і описувати його).

    Власні таблиці - це перш за все продуктивність. Використовуючи свої таблиці, розробник:

    Схожі статті