Существует несколько возможностей по расширению функционала движка Zebrum Lite.
Сторонние классы рекомендуется располагать в папке zcontent/extensions
. Название класса должно совпадать с названием файла. Например, класс myclass
должен находиться в файле zcontent/extensions/myclass.php
, а my_class
— zcontent/extensions/my/class.php
.
Загрузка класса из этой папки (и подпапках) будет произведена автоматически при его первом использовании, поэтому конструкцию require_once
вызывать необязательно.
Ниже представлен список возможных расширений с их описанием.
- плагины
Плагины создаются движком при обращении к каждой странице сайта.
При создании плагин может добавить свои обработчики на события движка сайта, что позволит влиять на его поведение. Так же в файле плагина могут быть определы функции, упрощающие работу с плагином.
Например, плагин
zplugin_rss
регистрирует обработчики для вывода RSS-ленты по определенному адресу, добавления мета-тэга в блок HEAD шаблона сайта и отслеживание добавленных/удаленных страниц на сайте.- модули
В отличие от плагинов, модули создаются только в момент обращения к конкретной странице (например, карте сайта) или при обращении к модулю из шаблона.
Они позволяют полностью сгенерировать не только текст страницы, но и подстраницы.
Например, модуль
zmodule_tags
подменяет страницу на раздел, состояший из списка тэгов и страниц по каждому тэгу. При переходе на страницы тэгов правильно формируются хлебные крошки.- классификаторы
Классификаторы используются как вспомогательный функционал для индексации всех страниц сайта в каком-то измерении.
Например, классификатор
ztaxonomy_tags
собирает информацию о тэгах сайта, аztaxonomy_time
— хранит список страниц в хронологическом порядке.- преобразователи
Преобразователи страниц используются для обработки свойств страницы перед её добавлением в репозиторий.
Например, преобразователь
ztransform_split
разбивает текст страницы на подстраницы согласно настройкам.И если автоматическое разделение выключено, то подстраницы будут делиться по метке
<!--nextpage-->
.- фильтры
Фильтры применяются при выводе текста страницы (или его части, подстраницы).
Например, фильтр
zfilter_text2html
отвечает за автоматическое преобразование обычного текста в HTML-код, обрамляя абзацы в тэгp
.