サマリ | topicpathプラグイン |
---|---|
リビジョン | |
対応バージョン | |
投稿者 | にぶんのに |
投稿日 | 2003-06-27 (FRI) 00:05:40 |
パンくずリスト(topicpath)と呼ばれる、ページの階層表現のユーザーインターフェースを提供するプラグイン。
#topicpath &topicpath;
パンくずリスト(Topic path)は現在参照しているウェブページの階層を表現するユーザーインターフェースです。例えばPukiWiki/ツアーというページに#topicpathと書くと、以下の様な表記に置き換わります。
[[Top>FrontPage]]>[[PukiWiki>PukiWiki]]>[[ツアー>PukiWiki/ツアー]]
基本的には以下の2通りの使い方を想定しています。
スキンに組み込む例(pukiwiki.skin.ja.php の30行目あたり)
<?php if ($is_page) { ?> <span class="small"><?php require_once(PLUGIN_DIR.'topicpath.inc.php'); echo plugin_topicpath_convert(); ?></span> <?php } ?>
PHPの勉強がてら作ってみました。添削希望 :D
をを、階層多用してるとこれ便利そうですね。試させていただきですー。が、現在の状況でどこからDLできるのだろう...
添付するのを忘れていたようです。失礼しました。
おお。よさげですねえ。階層化するときに助かります。Docbook形式じゃ煩わしいこともあるので。ざっとソースみただけですが、div_page の配列分岐、階層化されてなかったら topic_path を空白にするとか如何でしょう?(Topはメニューにリンクがあるので。)
おぉ、メニューのトップを排除できるかなとか目論んだ痕跡が。やはり空白にするのが自然ですかね?
あ、階層化されてないページに使っても意味ないか。不思議なことを言ってしまいました。(^^; 1.3.4で動作確認できました。> 改造版2
質問です。Top>[[Test1]]や Top>Test2 と表示されるのを、全て[[]]を除いて表示は出来ますか?
組み込みなのですが、topicpathというページを作成してその中でプラグインを呼び出し、そのページをMenuBarの様に呼び出した方が簡単に使えます。参考までに。
1.4用のプラグインはdev:PukiWiki/1.4/自作プラグインへ
1.3系だと正常に動作しなかったので、改造してみました。
早速使わせていただきました。
改造版を1.4と1.3に対応するようにしました。
いくつか機能を追加した改造版2を作成してみました。主な改造としては、Topページラベルの任意変更と表示可否、セパレータ文字列の変更、現在表示しているページへのリンク有無を変更できます。プラグインソースを見てください。
1.4でのみ稼動確認を取っていたのを失念していました。t.mさん、感謝します。
バグ報告。:testというような:で始まるページ名が正しく表示されない。[[:test>:test]]と表示される。
1.4でのみ発生するみたいですね。make_link関数の仕様が変わったのでしょう(make_linkの処理までは追いきれませんでした)。さしあたっては該当個所のみ、下記のように初期版に戻してやると(TITLE要素が出なくなりますが)、:で始まるページ名での誤動作はなくなります。
- $topic_path .= make_link("[[".$element.">".$landing."]]"); + $topic_path .= "<a href=\"$script?$landing\">$element</a>";
バグに対応してみました。改造版と改造版2を削除して改造版3を添付しました。
対応として、convert_html関数を使用しています。その関係上1.4のinline要素として呼び出すとpタグが二重に括られてしまうようです。これがいやな場合は上記修正が一番ベストです。そのバージョンのプラグインが必要で有れば教えてください。
topicpath.inc.phpの$landingがrawurlencodingされていなので文字化けするというバグが見つかりました。質問箱/183
1.4用のものを自作プラグイン/topicpath.inc.phpに再掲載しました。