Как создавать, управлять плагинами для FreeFrontCMS
Система управления контентом FreeFrontCMS поддерживает плагины, которые легко создавать и управлять ими.
Все плагины должны находиться в каталоге Plugins
каталога приложения.
При запуске приложения происходит обход файлов (.dll) в каталоге Plugins
и регистрации их в базе данных (при отсутствии в БД).
При наличии записи плагина в БД, проверяется запрос на его удаление или подключение.
Если есть запрос на удаление, то файл плагина удаляется, а так же удаляется запись в БД.
Если есть запрос на активацию, то для нового плагина создаётся страница в БД, если тип плагина PluginType.Universal
и поле PluginPageContent
не является пустым. Для страницы будет присвоем URL автоматически /admin/plugins/{idplugin}
Установить плагины можно двумя способами:
По умолчанию плагины устанавливаются не активированными. Для их активации необходимо кликнуть соответствующий чекбокс и перезагрузить приложение.
Для активации плагина необходимо кликнуть переключатель в карточке плагина и перезагрузить приложение.
Для удаления плагина перейдите на страницу управления плагинами (по умолчанию данная страница находится по адресу: "/admin/plugins") в карточке плагина нажмите "Удалить" и подтвердите действие. Далее плагин будет отмечен на удаление. Перезапустите приложение. При перезапуске, приложение проводит проверку плагинов. Если плагин отмечен на удаление, то он будет удалён из БД, а так же из каталога Plugins
PluginType.Api
- простой плагин, с API контроллеромPluginType.Universal
- универсальный плагин, для которого будет создана отдельная страница в БД (/admin/plugins/{idPlugin})Данный тип плагина содержит в себе APIController
в котором содержатся различные методы, выполняющие полезную работу.
API плагин не поддерживает наличие собственной страницы. Даже если в плагине указана данная страница, то программа проигноририрует создание.
Данный тип плагина содержит в себе APIController
в котором содержатся различные методы, выполняющие полезную работу.
А так же может содержать страницу управления данными сервисами и функциями. Для данного типа плагина будет создана отдельная страница в БД (/admin/plugins/{idPlugin}),
а ссылка на страницу будет отображаться в карточке плагина.
Для создания собственных плагинов Вы можете воспользоваться готовым шаблоном и инструкцией на GitHub