*relatedlist.inc.php [#nfd6d9b3] 関連付けられているページを、listプラグインのように、ページ名の頭の文字で分類して一覧表示します。 **書式 [#b306cf4c] #relatedlist([pagename]) :pagename|対象とするページ名。ここで指定されたページに関連付けられているページ一覧を表示する。省略時は、設置してあるページ。 **使い方 [#k9d0de7f] 例を示す。 #relatedlist(FrontPage) とすると、次のようになる。 #relatedlist(FrontPage) **仕様 [#rab27d5f] relatedプラグインと違って、そのページからリンクしているページはリストにしません。 **ダウンロード [#c79eea11] 簡単なので、コードを貼り付けておきます。 #code(php){{ <?php //relatedlist.inc.php //based on related.inc.php //Version 0.0.1 //作成者:どぼん! //除外するページの正規表現パターン define('PLUGIN_RELATEDLIST_EXCEPT', '/(?:^|\/)template$/'); //除外するページを指定する $_plugin_relatedlist_except_pages = array($whatsnew, $whatsdeleted, $menubar); function plugin_relatedlist_convert() { global $vars, $script, $non_list, $defaultpage; global $_plugin_relatedlist_except_pages; $args = func_get_args(); $page = isset($args[0]) ? strip_bracket(array_shift($args)) : $vars['page']; if (empty($page)) $page = $defaultpage; $data = links_get_related_db($page); $pages = array_keys($data); //$non_listを除外する $pages = array_diff($pages, preg_grep('/' . $non_list . '/', $pages)); //設定によりさらにページを除外する if (PLUGIN_RELATEDLIST_EXCEPT != '') $pages = array_diff($pages, preg_grep(PLUGIN_RELATEDLIST_EXCEPT, $pages)); if (!empty($_plugin_relatedlist_except_pages)) $pages = array_diff($pages, $_plugin_relatedlist_except_pages); if (empty($pages)) return '<ul><li>No related pages found.</li></ul>' . "\n"; return page_list($pages); } ?> }} 現在公開はしていません。 **ライセンス [#tcb1a5ab] GPL #pageinfo([[:Category/PukiWiki]],2006-06-06 (火) 00:51:59,DOBON!,2006-07-06 (木) 02:42:55,DOBON!) |