Как сделать плагин | Moguta.CMS
0

Ваш заказ

Меню

Как сделать плагин для Moguta.CMS

Как сделать плагин для Moguta.CMS

Плагин – обособленный скрипт, или набор скриптов, направленный на расширение базового функционала системы.

С помощью плагинов можно дополнить магазин такими полезными деталями как:

  • новостная лента;
  • фильтр товаров;
  • система скидок;
  • добавление различных способов оплаты;
  • подписка на новости;
  • синхронизация каталога с 1с.

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

Не имея представления о том, как разрабатывать свои дополнения к Moguta.CMS, многие считают, что это им не под силу. Это не так,ведь для написания своего плагина, необходимо иметь лишь базовые навыки в программировании на PHP. Не смотря на то, что сама система построена строго на принципах ООП, плагины могут быть выполнены в процедурном стиле программирования, привычном для начинающих программистов.

Как начать разработку плагина

Папка mg-plugins находящаяся в корне сайта, является хранилищем всех плагинов.

Чтобы разработать свой собственный плагин, необходимо создать в mg-plugins папку с именем будущего плагина и поместить в нее файл index.php. Имя папки должно состоять только из прописных букв, а для разделения слов нужно использовать дефис.

Файл index.php обязан иметь комментарий с информацией о данном плагине.

Внимание! Описывать плагин и его параметры следует строго в соответствии с форматом объявления плагина.

<?php 
/* Plugin Name: Название плагина . (отображается в разделе администрирования плагинов). Plugin URI: Страница с подробным описанием плагина в интернете. Description: Описание плагина без символов перевода строки. Author: Автор плагина Version: Версия 1.0 */
?>

Из всех доступных параметров, обязательным является только Plugin Name, тем не менее рекомендуется заполнять все поля.

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

Что нужно знать перед программированием плагина

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

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

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

<?php 
/* Plugin Name: Всплывающее окно Plugin URI: http://moguta.ru/plugins/popwindow Description: Выводит модальное окно с важной информацией. Author: Avdeev Mark Version: 1.0 */ function popWindow(){ echo "<div style="
   
position:absolute;
   
left600px
   
top300px
   
width:200px
   
height:100px
   
backgroundgreen;
 
">Важная информация</div> "; }
?>

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

Не смотря на то, что движок MOGUTA.CMS в процессе генерации страницы инициализирует выполнение различных событий, и механизм плагинов позволяет повесить собственный обработчик на любое событие в системе, можно создавать и пользовательские события.

Как создать свое событие

Для инициализации какого либо пользовательского события в системе предусмотрен механизм шортокодов (Shortcodeкороткий код).

В зависимости от сложности обработки, задать шорткод можно тремя разными способами:

  1. [name-code] - простая инициализация события "name-code";
  2. [name-code param1="значение" param2="значение2"] - инициализация события с параметрами;
  3. [name-code param1="значение" param2="значение2"] Контент [/name-code] – инициализация события с параметрами и контентом.

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

Привязываются пользовательские функции в папке плагина в файле index.php таким образом:

<?php 
mgAddShortcode
('name-code''popWindow');
?>

Вставим шорт код в разметку для карточки товара. И получим такой результат:

Создание плагина для Moguta.CMS

Зеленый прямоугольник и есть наше "всплывающее окно" для карточки товара.

В случае использования шорткода с параметрами или контентом, пользовательская функция обязана принимать массив аргументов:

Например, для обработки шорткода:

<?php 
[name-code color="yellow" bgcolor="blue"]Информация[/name-code]
?>

Пользовательская функция может выглядеть так:

<?php 
function popWindow($arg){ return "<div style="
  
position:absolute;
   
left600px
   
top300px;
   
width:200px
   
height:100px
   
background:">" .$arg['content']. "</div> "; }
?>

Обратите внимание, все, что находится между тегов [name-code] и [/name-code] попадает в функцию как аргумент $arg['content']. В результате обработки такого шорткода получаем:

Сделать плагин для Moguta.CMS

Используя подход с шорткодами, мы можем выводить всплывающее окно даже для конкретного товара. Чтобы сделать это нужно тот-же самый шорт код добавить в описание товара прямо в окне его редактирования вот так:

Простой плагин для Moguta.CMS

Учтите, что при использовании аргументов шорткодов в интерфейсе редактирования нужно ставить не двойные, а одинарные кавычки.

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

Следите за нами в группе ВКонтактe.