Плагин
Плагины бывают двух типов системные и локальные. Системные плагины это плагины, которые будут в дальнейшем наследованы и использованы такие как например User т.е. плагин USER занимается работой связанной с пользователями: регистрация, авторизация, личный кабинет и прочее. Локальные плагины, это плагины, работающие внутри сайта локальные плагины могут быть наследованы от системные, т.е. например если нам необходимо внедрить на сайт работу с пользователями то мы создаём локальный плагин siteUser, наследуем его от системного плагина User и изменяем логику поведения так как нам нужно.
Схема хранения
Системные плагины находятся в папке /plugins в корне проекта Локальные плагины располагаются в папке сайта /site/plugins
Структура файлов и папок внутри плагина должна быть построена по строгой йерархии она обязательно должна содержать папки:
/controllers - Папка /controllers содержит контроллер этого плагина /models - Папка /models содержит модели плагина /views - Папка VIEWS папка содержит шаблоны плагина
также в плагине могут быть папки
/system - Системные файлы /settings - папка для хранения настроек. Файл настроек - config.php /smartyPlugins - Папка для хранения плагинов Smarty. Аналогична папке с плагинами у Smarty.
Локальные плагины
Это плагины, располагающиеся внутри сайта /site/plugins, локальные плагины храняться вместе с сайтом и предполагается что будут использованы только в рамках данного сайта. Эти плагины часто наследуются от системных плагинов. Например для реализации работы с пользователями, локальный плагин SiteUser может быть отнаследован от системного плагина User и расширять его возможности.
Реализация простого плагина
Системные плагины
Системные плагины содержаться в отдельных репозиториях и кочуут из проекта в проект в неизменном виде.
Плагины содержатся в папке /plugins
Системные плагины выполняют различные стандартные функции(Отображение новостей, работа с галереей, работа с пользователями и.т.д.). Системные плагины могут быть использованы в сайте как есть или же быть отнаследованы и модифицированы плагинами сайта.
Изменяя системный плагин - помни, что эти изменения перекочуут на все сайты, использующие этот плагин!
Список системных плагинов
SimpleText - Модуль для редактирования произвольного текста на странице
ACL - Плагин для контроля прав