Структура файлов плагина

При разработке плагина для Moguta.CMS необходимо организовать структуру файлов плагинов таким образом, чтобы он был успешно воспринят ядром движка и подключен в раздел плагинов в панеле управления сайтом. Для этого необходимо в файле index.php указать метаданные.

Как указать метаданные плагина

Метаданными в данном контексте будем называть информацию о плагине,  считывается и обрабатывается движком Moguta.CMS:

  • Plugin Name: Название плагина
  • Plugin Name: Короткое описание плагина
  • Author: Имя разработчика
  • Version: Порядковый номер версии 1.0.3
  • Update: false (специальный атрибут, позволяющий запретить обновление плагина,может использоваться при внесении уникальных изменений в код и необходимости защитить пользователя от случайного обновления файлов и их перезаписи)

Объявить метаданные просто, для этого нужно в начале файла  index.php указать их в php комментарии вот таким образом:


<?php
/* 
Plugin Name: Мой первый плагины 
Description: Описание плагина 
Author: Moguta.CMS Version: 1.0.0
*/ 

Рекомендуемая структура файлов плагина

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

Структура плагина для Moguta.CMS


Если в структуре плагина существуют файлы index.php, readme.txt и папка locales/ с файлами вида ru_RU.php, то эти файлы будут автоматически считываться и использоваться ядром движка для взаимодействия с плагином.

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

readme.txt - файл с инструкцией, поддерживает HTML верстку. Все, что написано в этом файле будет открываться пользователю по клику на иконку инструкции к плагину. Также в тексте этого файла можно использовать дериктиву #SITE# это может понадобиться для формирования корректной ссылки на картику в папках плагина, пример испльзования: <img src="#SITE#/mg-plugins/mg-yandex-map-marks/readme/img2.png">.

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

Все остальные файлы и папки могут быть организованы любым удобным для вас способом.