« CPANの更新が止まっているみたい。 | メイン | ニワンゴ »

Data::Page::Navigationリリースしました

CPANのindexerが復活したようなので午前中にアップしたData::Page::Navigationもでてくるようになりました。

関連エントリー
1st Data::Pageとページナビゲーション
2nd Data::Page::Navigation いい感じのページナビゲーション

使い方は、

use Data::Page::Navigation;

とuseするだけです。
あとは普通に

my $pager = Data::Page->new(100,10,2);

とData::Pageのオブジェクトを生成します。すると、表示するページ番号のリストをつくるpages_in_navigationメソッドが使えるようになってます。

my @list = $pager->pages_in_navigation();


Catalystでの例ですが、Class::DBI::PagerやDBIx::Classと一緒に使えるので、

use Data::Page::Navigation;

sub default : Private {
    my ( $self, $c ) = @_;
    $c->stash->{entries}=MyApp::Model::DBIC::Entry->search();
    $c->stash->{template} = 'list.tt.html';
    $c->forward('View::TT');
}

などとコントローラーの方は今まで通りに書くだけで、テンプレート中で

[% pager = c.stash.entries.pager %]
[% FOREACH num = pager.pages_in_navigation %]
[% IF num == pager.current_page %][% num %][% ELSE %]<a href="/list?page=[% num %]">[% num %]</a>[% END %]
[% END %]

とpages_in_navigationメソッドが使えます。


ちょっと便利。

トラックバック

この一覧は、次のエントリーを参照しています: Data::Page::Navigationリリースしました:

» [Perl][Catalyst]Data::Page::Navigation を Catalyst で利用する場合について from cooldaemonの備忘録
Catalyst で使用する場合、use するだけの Module であっても Plugin 化した方が統一感があって良いなぁと思うので、私は、下記のよ... [詳しくはこちら]