Версия: 6.x
burger close
Структура дополнения-модуля

Дополнение с типом "Модуль" может привносить в систему различного рода функциональность. Модуль имеет доступ к обработке системных событий, может добавлять собственные разделы в административной панели, добавлять в систему обственный маршруты, визуальные блоки и фронт-контроллеры.

С помощью модуля можно реализовать новый печатный документ для заказа, способ доставки или оплаты, поддержку интеграции с другим сервисом, новый способ импорта/экспорта данных, форум, полноценную социальную сеть и вообще все, что только можно представить.

Структура файлов

  • modulename.zip //Дистрибутив дополнения
    • modulename //Папка с дополнением
      • config //Здесь должны находиться конфигурационные классы модуля
      • controller //Контроллеры модуля
      • model //Корневая папка для моделей
      • view //Корневая папка для отображений

Как видно, структура в архиве - это обычная вырезка структуры модуля из общей файловой структуры сайта. Подробнее об устройстве модулей ReadyScript написано в разделе Модульность.

Обновление

Разработчикам доступна возможность публиковать обновления для собственных модулей. Для этого необходимо обновить дистрибутив в карточке дополнения в личном кабинете разработчика на проекте Marketplace ReadyScript.

Пользователи облачной версии ReadyScript получат обновление автоматически. Пользователи коробочных версий смогут установить обновление модулей через Центр обновлений, при наличии активной подписки на получение обновлений.

Если в дополнении не реализован класс ModuleName\Config\Install, то система будет использовать стандартный алгоритм установки и обновления модуля, который предусматривает обновление структуры БД, согласно описаниям ORM объектов, а также обновление файлов из дистрибутива. В данном случае, от разработчика не требуется реализовывать никаких механизмов обновления.

В случае необходимости выполнения какого-либо частного кода при обновлении, можно воспользоваться возможностями, описанными в разделе Модульность.

Заметки
Обязательно описывайте изменения, произошедшие в каждой версии модуля в файле /config/changelog.txt.
Если ваш модуль поддерживает несколько языков, то можно создавать changelog на разных языках, именуя файл changelog_{ДВУХБУКВЕННЫЙ ИДЕНТИФИКАТОР ЯЗЫКА}.txt

Формат файла changelog.txt должен быть следующим:

1.0.0.3
Описание изменений в версии 1.0.0.3
1.0.0.2
Описание изменений в версии 1.0.0.2

Структура файла для демо-версии

В случае если модуль является платным, разработчик может представить бесплатную демо-версию своего модуля. Для этого необходимо отдельно загрузить дистрибутив (zip-архив) демо-версии модуля в карточке дополнения в личном кабинете разработчика на проекте Marketplace ReadyScript.

Структура zip-архива демо-версии модуля абсолютно идентична структуре рабочей версии модуля.

Разработчик самостоятельно решает, как ограничить функциональность демо-версии модуля. Наиболее распространенным способом - является удаление части кода из модуля и установка заглушек на определенные действия.

Пример модуля

Пример подготовленного для загрузки в marketplace модуля, добавляющего возможность принимать оплату от платежной системы Иитеркасса можно скачать здесь.