Плагин будет выводить в начале контента страницы надпись Hello World.
Цель этой статьи показать насколько просто разрабатывать плагины для Template CMS.
И так создаем папку helloworld в папке plugins
В папке helloworld создаем главный файлик плагина HelloworldPlugin.php
Именно его будет искать система и подключать.
Первое что надо сделать в нашем HelloworldPlugin.php - это зарегистрировать плагин в системе. Делается это с помощью функции registerPlugin()
registerPlugin(getPluginId(__FILE__),
getPluginFilename(__FILE__),
'Hello World',
'1.0.0',
'Helloworld plugin',
'Awilum',
'http://awilum.webdevart.ru/');
При регистрации плагина мы указали id плагина в системе этой функцией getPluginId(__FILE__) и название файла плагина функцией getPluginFilename(__FILE__)
Далее пишем: название плагина, версия, описание, автор и url автора.
Регистрацию в системе плагин пройдет :)
Теперь попробуем реализовать: Плагин будет выводить в начале контента страницы надпись Hello World.
Сделаем это так: к хуку theme_pre_content, который находится в начале контента каждого шаблона прицепим нашу функцию, которая выведет надпись Hello World.
С полным списком хуков системы и плагинов из коробки/box можно ознакомиться в офф.документации: http://template-cms.ru/docs/develope-plugins-hooks-list
Прицепляем функцию hello_world к хуку theme_pre_content
addHook('theme_pre_content','hello_world');
Ну и сама функция hello_world
function hello_world() {
echo 'Hello World';
}
Все наш плагин готов :)
Осталось сделать инсталяционый файлик HelloworldPlugin.xml который должен быть размещен в папке install данного плагина.
Создаем папку install и в ней файлик HelloworldPlugin.xml
В нем пишем информацию о плагине
<?xml version="1.0" encoding="UTF-8"?>
<root>
<plugin_location>
plugins/helloworld/HelloworldPlugin.php
</plugin_location>
<plugin_frontend>yes</plugin_frontend>
<plugin_backend>yes</plugin_backend>
<plugin_status>active</plugin_status>
<plugin_priority>12</plugin_priority>
<plugin_name>Hello World</plugin_name>
<plugin_description>Helloworld plugin</plugin_description>
<plugin_version>1.0.0</plugin_version>
<plugin_author>Awilum</plugin_author>
<plugin_author_uri>
http://awilum.webdevart.ru/
</plugin_author_uri>
</root>
Подробнее о HelloworldPlugin.xml
Путь к плагину
<plugin_location>
plugins/helloworld/HelloworldPlugin.php
</plugin_location>
Где включать этот плагин: фронтенд, бекенд
<plugin_frontend>yes</plugin_frontend>
<plugin_backend>yes</plugin_backend>
Состояние плагина active/off
<plugin_status>active</plugin_status>
Приоритет плагина перед остальными плагинами в системе.
Важно: цифра приоритета ваших плагинов должна начинаться с 11 и выше. Приоритет до 11 для плагинов из коробки/box.
<plugin_priority>12</plugin_priority>
Плагин готов к установке :)
Заходим в админку: плагины -> установить -> кликаем кнопку "установить" возле нашего плагина.
Итого:
Плагин Hello World
/helloworld/HelloworldPlugin.php
<?php
registerPlugin(getPluginId(__FILE__),
getPluginFilename(__FILE__),
'Hello World',
'1.0.0',
'Helloworld plugin',
'Awilum',
'http://awilum.webdevart.ru/');
addHook('theme_pre_content','hello_world');
function hello_world() {
echo 'Hello World';
}
/helloworld/install/HelloworldPlugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
<plugin_location>
plugins/helloworld/HelloworldPlugin.php
</plugin_location>
<plugin_frontend>yes</plugin_frontend>
<plugin_backend>yes</plugin_backend>
<plugin_status>active</plugin_status>
<plugin_priority>12</plugin_priority>
<plugin_name>Hello World</plugin_name>
<plugin_description>Helloworld plugin</plugin_description>
<plugin_version>1.0.0</plugin_version>
<plugin_author>Awilum</plugin_author>
<plugin_author_uri>
http://awilum.webdevart.ru/
</plugin_author_uri>
</root>
Комментариев нет:
Отправить комментарий