Lexer->addSpecialPattern('\{\{combonav>.*?\}\}', $mode, 'plugin_combonav'); } public function handle($match, $state, $pos, Doku_Handler $handler) { // Extrahujeme seznam stránek z syntaxe $match = substr($match, 11, -2); // Odstraníme {{combonav> a }} $pages = explode(' ', trim($match)); return array($pages); } public function render($mode, Doku_Renderer $renderer, $data) { if($mode != 'xhtml') return false; // Získáme seznam stránek list($pages) = $data; // Vygenerujeme jedinečné ID pro combobox $id = 'combonav_' . md5(join('', $pages)); // Začátek HTML výstupu $renderer->doc .= ''; // Přidáme JavaScript pro obsluhu změny výběru $renderer->doc .= ''; return true; } }