package Template::Plugin::Pageset; use strict; use vars qw($VERSION); use Data::Page::Pageset; use Template::Plugin; use base qw(Template::Plugin); our $VERSION = sprintf "%d.%02d", q$Revision: 1.02 $ =~ /: (\d+)\.(\d+)/; sub new { my ($proto, $context, $page, $param ) = @_; my $class = ref($proto) || $proto; ($page, $param) = ($context, $page, $param ) unless ref($context) =~ /^Template::/; my $pageset = Data::Page::Pageset->new( $page, $param ); return $pageset; } 1; =head1 NAME Template::Plugin::Pageset - wrapper for Data::Page::Pageset =head1 SYNOPSIS # pager is a Data::Page object [% USE pageset = Pageset( pager ) %] # pages_per_set is using default 10 [% USE pageset = Pageset( pager, 7 ) %] # pages_per_set is 7 [% USE pageset = Pageset( pager, { pages_per_set => 12 } ) %] # set max_pagesets to be 12 [% USE pageset = Pageset( pager, { max_pagesets => 4 } ) %] # set max_pagesets to be 4 =head1 DESCRIPTION [% IF pageset.previous_pageset %] Previous Pageset  [% END %] [% FOREACH chunk = pageset.total_pagesets %] [% IF chunk.is_current %] [% FOREACH num = [ chunk.first .. chunk.last ] %] [% IF num == pager.current_page %] [% num %] [% ELSE %] [% num %] [% END %] [% END %] [% ELSE %] [% chunk %] [% END %] [% END %] [% IF pageset.next_pageset %] Next Pageset  [% END %] =head1 See Also L is the core one, more methods see that pod. =head1 AUTHOR Chun Sheng, =head1 COPYRIGHT Copyright (C) 2004-2005, Chun Sheng This module is free software; you can redistribute it or modify it under the same terms as Perl itself. =cut