木曜日, 28 9 月 2006

Pager Pluginを使う この記事(Pager Pluginを使う)を「はてなブックマーク」に追加 この記事をクリップ! この記事(Pager Pluginを使う)を「del.icio.us」に追加

« YouTube動画のタイムライン画像を作る | Main | FONルーター設置 »
以前からblojsomを使っていて、エントリ一覧で「次のページ」や
「前のページ」を見るための機能がなぜないんだろうと思っていました。
今は10件ずつの表示にしていますが10件表示されてそれで終わり。
以前のエントリを見るにはカレンダーをぽちぽちクリックして見ていくしかないんですね。
件数制限なしで表示するようにすれば当然以前のエントリが見られますが
全てのエントリが表示されてしまい、どえらく重くなるし…。

blojsom標準の機能に「次のページ」を出せる機能はないようなので
これはプラグイン作るしかないかーと思って何か参考になるプラグインがないかと
blojsom公式のプラグイン一覧を見ていると既にPager Pluginというそのものズバリのプラグインがあるし!
作る前にここ見ておいて良かったー…。

使用するにはまずここからpagerplugin-0.2.jarを落としてきて/WEB-INF/libに入れます。

次に/WEB-INF/plugin.propertiesへ
pager=com.mbledug.blojsom.plugin.pager.FilterPlugin
と設定を追加し
/WEB-INF/(ユーザーID)/plugin.propertiesに
html.blojsom-plugin-chain=..., calendar, ..., pager, ..., limiter, ...
とpagerを書き加えます。
ここでポイントなのが既にcalendarとlimiterがチェインされていればその間に書き加えた方がよい、
ということだそうです。

で次に/WEB-INF/(ユーザーID)/pager.propertiesというファイルを作りその中に
page-size=10
とだけ書いておきます。
ここでの右辺数値は1ページに表示させる上限の数になっています。
この場合だと10件まで表示するようになります。

最後に/WEB-INF/web.xmlへ
<init-param>
        <param-name>plugin-pager</param-name>
        <param-value>pager.properties</param-value>
</init-param>
と先ほど作った設定ファイルをプラグインが読み込むようにしてあげれば準備完了です。
反映させるにはコンテナを再起動する必要があります。

あとは「次のページ」のナビげージョンを表示させたいテンプレートの位置に
#parse("pager.vm")
と書いて、jarファイル内にあるpager.vmを/WEB-INF/(ユーザーID)/templatesに置けば終わりです。
pager.vmの中身はそんなに難しくない表示を変えることも簡単にできると思います。

使ってみた感想は、そうそうこれが欲しかったのよ!コレコレ!
という感じでとても重宝しています。次のページktkr!
でもこれってblojsomがデフォルトで持っているべき機能なんじゃないの…?
Posted by tsujitako at 10:23 午後 in Java/blojsom/