Существует две структуры для файлов класса плагина DokuWiki. Выбор структуры определяет имя класса(-ов) плагина.
<dokuwiki>/lib/plugins/<plugin name>/<plugin type>.php
<plugin type>_plugin_<plugin name>
т.е. файл класс <dokuwiki>/lib/plugins/acl/admin.php => admin_plugin_acl
<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.
Все пути и файлы – относительны к корневой директории плагина.
<dokuwiki>/lib/plugins/<pluginname>/
style.css
– стили CSS для плагинаscript.js
– JavaScript используемые плагиномlang/<language>/lang.php
– Английские языковые строки (доступные через $this→getLang()
)lang/<language>/settings.php
– локализованные строки, используемые в Менеджере конфигурацииlang/<language>/<filename>.txt
– локализованный текст включая разметку DokuWiki (доступен через $this→locale_xhml()
)conf/default.php
– настройки по умолчанию (доступные через $this→getConf()
, локальные настройки добавляются к глобальному файлу DokuWiki <dokuwiki>/conf/local.php
)conf/metadata.php
– Метаданные настроек описывающие настройки для использования в Менеджере конфигурацииDokuWiki поддерживает специальный синтаксис include, который можно использовать для включения в файл JavaScript других файлов.
Все CSS должны быть сведены в один файл.
Плагин может быть установлен, но выключен. Признаком того, что плагин выключен, служит файл нулевой длинны disabled
в директории плагина.
Признаком того, что плагин выключен, служит суффикс .disabled
добавленный к имени директории. Безопасный метод получить имя директории плагина – использовать функцию plugin_directory()
inc/pluginutils.php#plugin_directory.