Содержание

Структура файлов плагина

Существует две структуры для файлов класса плагина DokuWiki. Выбор структуры определяет имя класса(-ов) плагина.

  1. <dokuwiki>/lib/plugins/<plugin name>/<plugin type>.php
    Имя класса плагина будет <plugin type>_plugin_<plugin name>
    т.е. файл                                       класс
         <dokuwiki>/lib/plugins/acl/admin.php   =>  admin_plugin_acl


  2. <dokuwiki>/lib/plugins/<plugin name>/<plugin type>/<filename>.php
    Эта структура допускает несколько классов одного типа в одном плагине, имена классов будут <plugin_type>_plugin_<plugin name>_<filename>,
    т.е. файл                        тип                   класс
         <dokuwiki>/lib/plugins/code/syntax/code.php   =>  syntax_plugin_code_code
         <dokuwiki>/lib/plugins/code/syntax/file.php   =>  syntax_plugin_code_file


Заметьте, что _ (подчерк) это зарезервированный символ, и не может использоваться имени плагина <plugin name>.

Плагин может содержать как несколько типов плагинов, так и несколько классов плагинов каждого типа.

?Кроме того, плагин может (опционально) использовать другие встроенные ? In addition, a plugin can (optionally) take advantage of other built-in facilities to have its styles, JavaScript, localisation, and configuration included in DokuWiki.

Все пути и файлы – относительны к корневой директории плагина.

Как включить более чем один файл JavaScript

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

Как включить более чем один файл CSS

Все CSS должны быть сведены в один файл.

Выключение плагина

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

Признаком того, что плагин выключен, служит суффикс .disabled добавленный к имени директории. Безопасный метод получить имя директории плагина – использовать функцию plugin_directory() inc/pluginutils.php#plugin_directory.