Sledge::Plugin::Paginate
初めて?!Sledgeのプラグイン書いてみた。
普通CDBIとかDBICでページングさせるけど、
データとってきた後にあれこれデータいじくって
それをページングさせたいとき用。
CDBIやDBICのデータでなくてもページングかんたーんにできる予定。
package Sledge::Plugin::Paginate;
use strict;
use warnings;
our $VERSION = '0.01';use Data::Page;
our $REQUEST_PARAM = 'page';sub import {
my $self = shift;
my $pkg = caller;no strict 'refs';
*{"$pkg\::paginate"} = sub {
my ($self , %args) = @_;my $pager = Data::Page->new(
scalar(@{$args{data}}),
$args{paging_num},
$self->r->param($REQUEST_PARAM) || 0,
);$self->tmpl->param(
$args{page_name} => [ $pager->splice($args{data}) ],
pager => $pager,
);
};
}1;
__END__
=head1 NAMESledge::Plugin::Paginate - data paginate plugin for Sledge
=head1 VERSION
This documentation refers to Sledge::Plugin::Paginate version 0.01
=head1 SYNOPSIS
package Your::Pages;
use Sledge::Plugin::Paginate;
our $PAGE = 20;sub dispatch_index {
my $self = shift;my @users = $self->user;
$self->paginate(
paging_num => $PAGE,
page_name => 'user',
data => \@users,
);
}=head1 DESCRIPTION
This Plugin provide to Sledge for data paginate.
=head1 AUTHOR
Atsushi Kobayashi,
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.=head1 SEE ALSO
L
=cut