Различия
Здесь показаны различия между двумя версиями данной страницы.
start [2016/04/13 13:07] admin |
start [2017/04/24 17:09] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | <code>class admin_plugin_yourplugin extends DokuWiki_Admin_Plugin { | + | |
- | + | ||
- | private $explorer_helper = null; | + | |
- | private $explorer_registered = false; | + | |
- | + | ||
- | function get_explorer(){ | + | |
- | if (!$this->explorer_helper){ | + | |
- | $this->explorer_helper = plugin_load('helper','explorertree'); | + | |
- | } | + | |
- | return $this->explorer_helper; | + | |
- | } | + | |
- | function init_explorertree(){ | + | |
- | if (!($e = $this->get_explorer())) return; | + | |
- | if (!$this->explorer_registered){ | + | |
- | $e->registerRoute('yourroutingname',array( | + | |
- | 'init_plugin' => array( // this is the method to register routing, hence this method itself is the 'init_plugin' option. | + | |
- | 'plugin' => 'yourplugin', | + | |
- | 'type' => 'admin', | + | |
- | 'method' => 'init_explorertree', | + | |
- | ), | + | |
- | 'vars' => array( | + | |
- | 'class' => 'explorertree', // override css class | + | |
- | 'id' => 'mytreeid', // override id for the tree | + | |
- | ), | + | |
- | 'callbacks' => array( // callbacks in your plugin, or any callback | + | |
- | // php callbacks, which are called via ajax | + | |
- | 'page_selected_cb' => array($this,'pageselected'), | + | |
- | 'ns_selected_cb' => function($id){ /* any closure or callable*/ return array(); }, | + | |
- | // javascript callbacks, which are called on client side (name must be a string, your client side defined function name): | + | |
- | 'page_selected_js' => 'my_ns_callback', | + | |
- | 'ns_selected_js' => 'my_page_callback', | + | |
- | ), | + | |
- | )); | + | |
- | $this->explorer_registered = true; | + | |
- | } | + | |
- | return $e; | + | |
- | }</code> | + |