PukiWikiプラグイン開発(4) 習作3号「heebtn2」

STATUS: 故障中

 前回の heebtnプラグインをちょこっと改良しました。

heebtn2プラグイン (テストページ)


 ボタンを押すたびに右に表示されている数字がカウントアップする。
 httbtnプラグイン(plugintest/heebtn)の改良版。
 ページ内での出現順でIDを振っているため、同一ページ内のプラグインが確実に識別できる。そのため、カウントアップする対象は同一ボタン名であったも区別される。

 プラグインの識別は、プラグインの関数内でstaticなカウント用の変数を用意して、convert関数(HTMLソースにプラグインが見つかるたびに呼ばれる。この中でプラグインはページのその個所のソースは書き出す)内でカウントして、Formのhiddenパラメータに入れています。
 Formのボタンが押された場合、Action関数が呼ばれますが、この中ではページのソースを取得して、上から順番に見ていきhiddenパラメータで渡された番号に出現したプラグインを対象として処理します。
 今回のソースは、voteプラグインほとんどそのまんまです。
 voteでは、プラグインの番号をページごとにカウントしてました。そこまでする必要あるのかなと思いましたが、横のメニュー部分にも同時に使われたとき必要なのでしょうね。このプラグインでもそれは踏襲しました(というかパクリ)。

 プラグインの識別についてやり方はわかりましたが、やっぱりWiki側で出現番号取得関数とか用意して欲しかったなあ。

コメント