МЕНЮ
Смотреть демо
0

Ваш заказ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<?php
/*
Plugin Name: Всплывающее окно
Description: Выводит модальное окно с важной информацией.
Author: Avdeev Mark
Version: 1.2.5
*/
function popWindow(){
echo '<div style="position:absolute; 
		left:600px; 
		top:300px; 
		width:200px; 
		height:100px; 
		background: green;">
		Важная информация</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');
?>

Вставим шорт код в разметку для страницы с контактами, или в любом месте HTML верстки где хотим видеть всплывающее окно. И получим такой результат:

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

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

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

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

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

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

<?php
/*
Plugin Name: Всплывающее окно
Description: Выводит модальное окно с важной информацией.
Author: Avdeev Mark
Version: 1.2.5
*/
function popWindow($arg){
echo '
<div style="
    position: absolute;
    left: 700px;
    top: 300px;
    width: 400px;
    height: 150px;
    background: '.$arg['bgcolor'].';
    color: '.$arg['color'].';
    padding: 20px;
    text-align: center;
    font-weight: 600;">
        '.$arg['content'].'
</div>';
}
mgAddShortcode('name-code', 'popWindow');
?>

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

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

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

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

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

Комментарии (0)

Имя:
E-mail:
Прикрепить изображения

Получать уведомления о новых комментариях: