Вы используете список страниц для вывода списка страниц. Вам нужен массив, в котором есть строки, по крайней мере, с 'id' набором записей.
Вы также можете добавить свои собственные столбцы. Ниже описаны два способа.
(Предпочтительный подход) Вы можете использовать плагин списка страниц в своем плагине. Вы также addColumn() можете (необязательно) добавить свой собственный столбец. Данные для этого столбца предоставляются с помощью addPage() и setHeader().
... $flags = ['header']; //показать заголовок таблицы $header = [ 'yourcolumn' => 'Your Column' ]; $pages = [ ['id' => 'первая страница' , 'ваша колонка' => 'Text 1'], ['id' => 'вторая страница' , 'ваша колонка' => 'Text 2'], ['id' => '3rd', 'yourcolumn' => '<em>3&4</em> with user input escaping'], ]; if($pagelist = $this->loadHelper('pagelist')) { $pagelist->addColumn('example', 'yourcolumn'); $pagelist->setHeader($header); //доступно с 17 октября 2022 г. $pagelist->setFlags($flags); $pagelist->startList('plugin_example_class'); foreach($pages as $page) { $pagelist->addPage($page); } $renderer->doc .= $pagelist->finishList(); } ...
(Альтернативный подход) Если данные для дополнительного столбца не были предоставлены ранее, список страниц запросит их у вашего плагина th() и td() предоставит его. helper.php Часто этот подход требует временного хранения данных, что снижает его производительность.
<?php class helper_plugin_example extends DokuWiki_Plugin { /** * Возвращает текст заголовка столбца для плагина списка страниц. * * @param string $column имя столбца, заданное в addColumn() * @param string $class по ссылке, класс установлен в td таблицы. Заменяет это значение по умолчанию, имя столбца установлено как класс. * Текст строки @return, экранированный плагином Pagelist */ public function th($column=null, &$class = null) { if($column == 'yourcolumn') { $content = 'Your Column'; } else { $content = $this->getLang('othercolumn'); } } //в конечном итоге это также возможно, если у вас есть только один столбец, а не класс CSS для каждой ячейки: public function th() { return $this->getLang('yourcolumn'); } /** * Возвращает данные ячейки для плагина списка страниц. * * @param string $id идентификатор страницы * @param string $column имя столбца, заданное в addColumn() * @param string $class по ссылке, класс установлен в td таблицы. Заменяет это значение по умолчанию, имя столбца установлено как класс. * @return строка экранирует HTML-содержимое ячейки таблицы */ public function td($id, $column=null, &$class = null) { $class .= 'special'; if($column == 'yourcolumn') { $content = '...'; } else { $content = '...'; } return hsc($content); } //в конечном итоге это также возможно, если у вас есть только один столбец, а не класс на ячейку:: public function td($id) { $content = '...'; return hsc($content); } }
Если вы добавляете собственный столбец для своего плагина, рекомендуется добавлять через addPage()HTML для каждой ячейки столбца. В качестве альтернативы вы должны реализовать helper.phpwith th()и td().
Дополнительную документацию по аргументам см. в PHPDocs исходного кода.
Некоторые примечания, использованные для очистки плагина Pagelist (сентябрь 2022 г.).
| authorstats | ||
|---|---|---|
| uses: | loadHelper | |
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| cloud | ||
| depends on tag and searchstats plugins | ||
| ⇒ unclear if it depends (indirectly) on pagelist | ||
| dir | ||
| copied css styles, seems independent further | ||
| pageimage | ||
| integrated with pagelist | ||
| provides: | td($id) | |
| th() | ||
| tagsections | ||
| depends on tag (so on pagelist?) | ||
| task | ||
| provides: | th() | |
| td($id) | ||
| uses: | plugin_load('helper','pagelist') | |
| header array | ||
| column array | ||
| addCOlumn | ||
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| tiledblog | ||
| depends on blog | ||
| editor | ||
| uses: | plugin_isdisabled | use loadHelper |
| plugin_load | use loadHelper | |
| column array | ||
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| tag | ||
| provides: | td($id) | |
| th() | ||
| uses: | loadhelper | |
| - topic | ||
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| -searchtags | loadHelper | |
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| -action | loadHelper | |
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| tagfilter | ||
| provides: | td($id,$col) | |
| th($tag='') | ||
| uses: | plugin_isdisabled | use loadHelper |
| -syntax | plugin_load | use loadHelper |
| addColumn | ||
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| -action | addColumn | |
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| blog | ||
| uses: | plugin_isdisabled | use loadHelper |
| -archive | plugin_load | use loadHelper |
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| -autoarchive | plugin_isdisabled | use loadHelper |
| plugin_load | use loadHelper | |
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| discussion | ||
| provides: | th() | |
| -helper | td($id, $col = null, &$class = null, $num = null) $num is used interally in discussion plugin | |
| uses: | ||
| -threads | loadHelper | |
| addColumn | ||
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| linkback | ||
| provides: | th() | |
| td($id, $number=null) | ||
| changes | ||
| optionally: pagelist plugin used by setting a flag | ||
| uses: | plugin_load | |
| setFlags | ||
| startList | ||
| addPage | ||
| finishList | ||
| VERY OLD - 2008: | ||
| pageseditees | –not supported anymore– | |
| uses: | plugin_load | |
| page array | ||
| _meta array | better use get_metadata directly | |
| _getMeta | ||
| listeabo | –not supported anymore– | |
| uses: | plugin_load | |
| page array | ||
| _meta array | better use get_metadata directly | |
| _getMeta | ||
| snap | –not supported anymore– | |
| uses: | plugin_load | |
| -syntax.php.ori | page | |
| _meta | better use get_metadata directly | |
| _getMeta | ||
| -helper | plugin_load | |
| page | ||
| _meta | better use get_metadata directly | |
| _getMeta | ||
| favoris | –not supported anymore– | |
| uses: | plugin_load | |
| page | better use get_metadata directly | |
| _meta | ||
| _getMeta | ||
| COMMENTED OUT: | ||
| pageindex | –not supported– | |
| uses: | plugin_load | |
| startList | not dependent | |
| addPage | ||
| finishList |