Data::Page::Navigation
d:id:iox:20070618:1182158941の記事にid:fbisさんからブックマークでData::Page::Navigationを使うとさらに便利と教えてもらいましたので、早速少し使ってみました。
このモジュールは、Data::Pageモジュールにメソッドを加えたモジュールのようで、pages_per_navigation()をコールすることによってナビゲーションに表示する項目に制限をかけることができるようです。
使い方はこんな感じ。
CGI側:
my $pager = Data::Page->new(100, # トータルのエントリ数 10, # ページ毎に表示するエントリ数 1, # 表示するページ ); $pager->pages_per_navigation(3); # ナビゲーションに表示する項目を3つまでに制限
View側(Tempalte Toolkit):
[% FOREACH num= pager.pages_in_navigation %] [% IF num == pager.current_page %]% num % [% ELSE %][[% num %]] [% END %] [% END %]
データ数が多い場合に、全て表示するのではなく制限したい場合にとても便利ですね。
id:fbisさん、情報ありがとうございました。