Плагин – обособленный скрипт или набор скриптов, направленный на расширение базового функционала системы.
С помощью плагинов можно дополнить магазин такими полезными деталями как:
- новостная лента;
- система скидок;
- добавление различных способов оплаты;
- push-уведомления;
- добавление различных способов доставок.
Кстати, любой из плагинов можно скачать, посмотреть его исходный код, и взять за основу чтобы было удобнее разрабатывать свои плагины.
Плагины позволяют не вникая в код системы, расширять ее до немыслимого функционала. Плюсом является и то что, при очередном обновлении движка, файлы плагинов не перезапишутся, и весь дополнительный функционал продолжит работать.
Не имея представления о том, как разрабатывать свои дополнения к Moguta.CMS, многие считают, что это им не под силу. Это не так, ведь для написания своего плагина, необходимо иметь лишь базовые навыки в программировании на PHP. Не смотря на то, что сама система построена строго на принципах ООП, плагины могут быть выполнены в процедурном стиле программирования, привычном для начинающих программистов.
Как начать разработку плагина
Самая свежая информация о разработке плагинов, доступна в официальной документации для разработчиков.
В данной стататье мы коротко опишем основные моменты которые стоит знать перед разработкой плагинов.
Папка mg-plugins находящаяся в корне сайта, является хранилищем всех плагинов.
Чтобы разработать свой собственный плагин, необходимо создать в mg-plugins папку с именем будущего плагина и поместить в нее файл index.php. Имя папки должно состоять только из прописных букв, а для разделения слов нужно использовать дефис.
Файл index.php обязан иметь комментарий с информацией о данном плагине.
Внимание! Описывать плагин и его параметры следует строго в соответствии с форматом объявления плагина.
<?php /* Plugin Name: Название плагина . (отображается в разделе администрирования плагинов). Description: Описание плагина без символов перевода строки. Author: Автор плагина Version: Версия 1.0 */ ?>
Из всех доступных параметров, обязательным является только Plugin Name, тем не менее рекомендуется заполнять все поля.
При наличии данного блока комментариев, в панели администрирования появляется возможность активировать, данный плагин.
Что нужно знать перед программированием плагина
Перед тем как начинать разрабатывать плагин, необходимо ознакомиться с доступными инструментами движка.
Как уже было сказано выше, плагины могут быть представлены в процедурном стиле программирования. Это значит, что содержимое файла index.php может содержать пользовательские функции изменяющие стандартное поведение движка.
Для примера создадим функцию вывода всплывающего окна с информацией, которое будет показываться только в карточке товара.
Чтобы всплывающее окно работало при просмотре именно карточки товара, необходимо привязать выполнение функции к некоторому событию выполняющемуся при генерации карточки товара.
Не смотря на то, что движок MOGUTA.CMS в процессе генерации страницы инициализирует выполнение различных событий, и механизм плагинов позволяет повесить собственный обработчик на любое событие в системе, можно создавать и пользовательские события.
Как создать свое событие
Для инициализации какого либо пользовательского события в системе предусмотрен механизм шортокодов (Shortcode – короткий код).
В зависимости от сложности обработки, задать шорткод можно тремя разными способами:
- [name-code] - простая инициализация события "name-code";
- [name-code param1="значение" param2="значение2"] - инициализация события с параметрами;
- [name-code param1="значение" param2="значение2"] Контент [/name-code] – инициализация события с параметрами и контентом.
Вставить короткий код можно в любую HTML верстку сайта. Движок генерируя страницу обнаружив шорт код заменит его результатом выполнения привязанной к нему функции.
Привязываются пользовательские функции в папке плагина в файле index.php таким образом:
<?php
mgAddShortcode('name-code', 'popWindow');
?>
Вставим шорт код в разметку для страницы с контактами, или в любом месте HTML верстки где хотим видеть всплывающее окно. И получим такой результат:
Оранжевый прямоугольник и есть наше "всплывающее окно" для карточки товара.
В случае использования шорткода с параметрами или контентом, пользовательская функция обязана принимать массив аргументов:
Например, для обработки шорткода:
[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 заканчивается, но еще осталось много интересных возможностей по созданию плагинов, о которые можно узнать в документации для разработчиков.
Комментарии (0)