Основные функции плагинов
Каждый из реализованных в настоящие время классов плагинов DokuWiki: синтаксические, администрирования, действий, вспомонгательные и рендеров предоставляет общий набор методов и свойств, осуществляющих стандартные возможности по настройке, самоанализу, локализации и выводу. Эти функции выдают результаты, принимая во внимание локальную конфигурацию и специфичные для DokuWiki требования.
Эти функции объявлены в фундаментальном классе плагинов, DokuWiki_Plugin, определенном в файле inc/plugin.php.
Краткое описание этих функций и свойств приведен ниже. Наиболее полное и свежее описание можно найти в файле base.php из API Reference, а также сами исходники можно найти в Source Repository
Настройки
$conf— Массив содержащий конфигурационный настройки, в виде setting ⇒ value. Пуст пока не будет наполнен функциейloadConfig().$configloaded— логическая переменная, выставляется в true функциейloadConfig()после того, как она установит текущие настройки.getConf($setting)— возвращает значение настройки$setting, при необходимости вызоветloadConfig().loadConfig()— сливает локальные настройки и дефолтные настройки плагина и заполняет массив$this→conf.readDefaultSettings()— читает файл настроек по умолчанию,lib/plugins/<plugin_name>/conf/default.php.
Настройки конфигурации конкретного плагина хранятся в файле локальных настроек local.php и в файле специфичном для данного плагина default.php (см. структура файлов плагина).
Если плагин работает со своими настройками с помощью этих функций, то администратор wiki сможет интерактивно управлять настройками с помощью Менеджера конфигурации. О том как сказать Менеджеру конфигурации, что делать с вашими настройками, смотри Configuration Metadata.
Самоанализ
getPluginType()— возвращает тип плагина, т.е.syntax,adminoraction.getPluginName()— возвращает имя плагина.getPluginComponent()— возвращает имя компонента плагина.
Локализация
О том, где хранятся локализованные строки и файлы, см. плагин plugin_file_structure.
$lang— Массив содержащий локализованные строки плагина, в виде id ⇒ localised string, может содержать английские строки, в случае, если локализованной версии не существует. Пуст пока не будет заполнен функциейsetupLocale().$localised— логическая переменная, выставляется в true функциейsetupLocale()после того, как она заполнит массив$this→lang.getLang($id)— возвращает локализованную строку соответствующую$id, или английскую строку если локализованная версия отсутствует. При необходимости вызовет функциюsetupLocale().locale_xhtml($id)— использует движок рендеринга DokuWiki, для того чтобы возвратить xhtml, созданный из локализованного файла$id, содержащий разметку DokuWiki.setupLocale()— заполняет массив$this→langв соответствии с настройками локализации.
Вывод
email()— выводит ссылку на адрес почты в соответствии с текущими настройками «шифрации».external_link()— выводит внешнюю ссылку в соответствии с текущими настройками target.render()— применяет парсер для того, чтобы разобрать и вывести строку содержащую разметку wiki.
См.также https://www.dokuwiki.org/ru:devel:common_plugin_functions?do=edit
