Hello World плагин для Template CMS

В этой статье расскажу как написать простой плагин Hello World для Template CMS.
Плагин будет выводить в начале контента страницы надпись 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>

Комментариев нет: