====== Основные функции плагинов ====== Каждый из реализованных в настоящие время классов плагинов [[ru:DokuWiki]]: [[.:Syntax Plugins|синтаксические]], [[.:Admin Plugins|администрирования]], [[.:Action Plugins|действий]], [[.:Helper Plugins|вспомонгательные]] и [[.:Renderer Plugins|рендеров]] предоставляет общий набор методов и свойств, осуществляющих стандартные возможности по [[#настройки|настройке]], [[#самоанализ|самоанализу]], [[#локализация|локализации]] и [[#вывод|выводу]]. Эти функции выдают результаты, принимая во внимание локальную конфигурацию и специфичные для DokuWiki требования. Эти функции объявлены в фундаментальном классе плагинов, ''DokuWiki_Plugin'', определенном в файле ''inc/plugin.php''. Краткое описание этих функций и свойств приведен ниже. Наиболее полное и свежее описание можно найти в файле [[http://dev.splitbrain.org/reference/dokuwiki/lib/plugins/base.php.html|base.php]] из [[http://dev.splitbrain.org/reference/dokuwiki/|API Reference]], а также сами исходники можно найти в [[http://dev.splitbrain.org/browse/darcs/dokuwiki|Source Repository]] ===== Настройки ===== * ''$conf'' --- Массив содержащий конфигурационный настройки, в виде setting => value. Пуст пока не будет наполнен функцией ''loadConfig()''. * ''$configloaded'' --- логическая переменная, выставляется в true функцией ''loadConfig()'' после того, как она установит текущие настройки. * ''getConf($setting)'' --- возвращает значение настройки ''$setting'', при необходимости вызовет ''loadConfig()''. * ''loadConfig()'' --- сливает локальные настройки и дефолтные настройки плагина и заполняет массив ''$this->conf''. * ''readDefaultSettings()'' --- читает файл настроек по умолчанию, ''lib/plugins//conf/default.php''. Настройки конфигурации конкретного плагина хранятся в файле локальных настроек local.php и в файле специфичном для данного плагина default.php (см. [[plugin file structure|структура файлов плагина]]). Если плагин работает со своими настройками с помощью этих функций, то администратор wiki сможет интерактивно управлять настройками с помощью [[ru:plugin:config|Менеджера конфигурации]]. О том как сказать Менеджеру конфигурации, что делать с вашими настройками, смотри [[ru:configuration#Configuration Metadata]]. ===== Самоанализ ===== * ''getPluginType()'' --- возвращает тип плагина, т.е. ''syntax'', ''admin'' or ''action''. * ''getPluginName()'' --- возвращает имя плагина. * ''getPluginComponent()'' --- возвращает имя компонента плагина. ===== Локализация ===== О том, где хранятся локализованные строки и файлы, см. плагин [[ru:devel: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.