Создание модуля
Партнерские модули отличаются от стандартных модулей следующим:
-
ID модуля - полный код партнерского модуля, который задается в формате: код_партнера.код_модуля. Часть код_партнера постоянна для партнера (задается в карточке партнера). Часть код_модуля вводится партнером при добавлении нового модуля. Эти коды должны быть алфавитно-цифровыми, но первым символом не может быть цифра, и код неким образом должен соответствовать сути модуля. Например, для модуля форума желательно задать код forum. Тогда полный код будет mycompany.forum. Использование точки для разделения кода партнера и кода модуля необходимо, иначе ваш модуль не будет виден в списке установленных решений Marketplace, а попадет в список системных модулей, что является некорректной ситуацией. Важно! Код модуля обязательно должен быть задан в нижнем регистре, иначе не будет работать метод IncludeModule.
Код не должен начинаться с цифры - это может помешать установке модуля. Также запрещается использование подчеркивания ” _ ”.
-
В файле
/install/index.phpкроме той информации, которая задается в любом стандартном модуле, необходимо еще указать:
$this->PARTNER_NAME = "Имя партнера - автора модуля";
$this->PARTNER_URI = "http://www.mysite.ru";
У клиента эта информация будет доступна в списке модулей.
Внимание! Модуль можно создавать в кодировках UTF-8 и Windows-1251.
Помните, что в Bitrix Framework принято, что версия не может быть равной 0, то есть 0.0.1 - минимальный номер версии.
Помните, что только языковые файлы из папки /ru/ конвертируются в кодировку сайта.
Примечание: Допускается наличие обфусцированных Обфускация (или запутывание кода) — приведение исходного кода или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.
Подробнее)… частей кода, при этом в описании модуля должна присутствовать информация о наличии такого кода.
Инфоблоки или таблицы БД?
При создании собственных модулей у разработчиков часто возникает вопрос: при написании собственного модуля что целесообразнее: использование инфоблоков или собственные таблицы? Ответ на этот вопрос зависит от решаемой задачи. Наличие в Bitrix Framework инфоблоков не означает обязательности их использования для реализации своих модулей.
Инфоблоки - это универсальность. По этой причине:
- Инфоблоки часто избыточны по своим возможностям;
- При использовании инфоблоков разработчик может работать с модулем как с обычным компонентом, не нужно дорабатывать API (и описывать его).
Собственные таблицы - это прежде всего производительность. Используя свои таблицы, разработчик:
- может сделать модуль куда более быстродействующим, чем если бы делал модуль со стандартным API;
- при разработке собственного API, принимает на себя всю ответственность по безопасной работе своего модуля;
- должен подумать о том, что с его кодом будут работать другие разработчики: комментарии и документация.
Содержание главы:
- Структура полной сборки модуля
- Задание демо-режима для модулей
- Обновления модулей
- Размещение модуля в партнерской системе обновлений
- Размещение модуля в административном меню
- Решения типовых сайтов
- Установка модуля
- Частые ошибки
- Пример класса для модуля
- Пример создания модуля
- Сборка обновлений собственного модуля
- Дополнительно
- Подсказки пользователям
- Тестирование разработчиком решений для Marketplace
Курсы разработаны в компании «1С-Битрикс»