added page range to paginator variables

This commit is contained in:
Doug Bell 2008-09-03 21:56:43 +00:00
parent a0a02e8d6e
commit 01cbbf2e60
4 changed files with 51 additions and 14 deletions

View file

@ -34,15 +34,15 @@ our $HELP = {
{ 'name' => 'pagination.pageCount.isMultiple' },
{ 'name' => 'pagination.pageList', },
{ 'name' => 'pagination.pageLoop',
'variables' => [ { 'name' => 'pagination.url' }, { 'name' => 'pagination.text' } ]
'variables' => [ { 'name' => 'pagination.url' }, { 'name' => 'pagination.text' }, { 'name' => 'pagination.range' } ]
},
{ 'name' => 'pagination.pageList.upTo20' },
{ 'name' => 'pagination.pageLoop.upTo20',
'variables' => [ { 'name' => 'pagination.url' }, { 'name' => 'pagination.text' } ]
'variables' => [ { 'name' => 'pagination.url' }, { 'name' => 'pagination.text' }, { 'name' => 'pagination.range' } ]
},
{ 'name' => 'pagination.pageList.upTo10' },
{ 'name' => 'pagination.pageLoop.upTo10',
'variables' => [ { 'name' => 'pagination.url' }, { 'name' => 'pagination.text' } ]
'variables' => [ { 'name' => 'pagination.url' }, { 'name' => 'pagination.text' }, { 'name' => 'pagination.range' } ]
}
],
fields => [],

View file

@ -470,10 +470,10 @@ sub getPageLinks {
my @pages_loop;
for (my $i=0; $i<$self->getNumberOfPages; $i++) {
my $altTag;
my $first = $i * $self->{_rpp};
my $last = (($i+1) * $self->{_rpp})-1;
$last = $self->{_totalRows} - 1 if $last >= $self->{_totalRows};
if ($self->{abKey}) {
my $first = $i * $self->{_rpp};
my $last = (($i+1) * $self->{_rpp})-1;
$last = $self->{_totalRows} - 1 if $last >= $self->{_totalRows};
if ($self->{abInitialOnly}) {
$altTag = ' title="'.substr($self->{_rowRef}[$first]->{$self->{abKey}},0,1).'-'.substr($self->{_rowRef}[$last]->{$self->{abKey}},0,1).'"';
} else {
@ -481,11 +481,19 @@ sub getPageLinks {
}
}
if ($i+1 == $pn) {
push(@pages,($i+1));
push(@pages_loop,{ "pagination.url" => '', "pagination.text" => $i+1});
push @pages, $i+1;
push @pages_loop, {
"pagination.url" => '',
"pagination.text" => $i+1,
'pagination.range' => ($first+1) . "-" . ($last+1),
};
} else {
push(@pages,'<span><a href="'.$self->session->url->append($self->{_url},($self->{_formVar}.'='.($i+1))).'"'.$altTag.'>'.($i+1).'</a></span>');
push(@pages_loop,{ "pagination.url" => $self->session->url->append($self->{_url},($self->{_formVar}.'='.($i+1))), "pagination.text" => $i+1});
push @pages, '<span><a href="'.$self->session->url->append($self->{_url},($self->{_formVar}.'='.($i+1))).'"'.$altTag.'>'.($i+1).'</a></span>';
push @pages_loop, {
"pagination.url" => $self->session->url->append($self->{_url},($self->{_formVar}.'='.($i+1))),
"pagination.text" => $i+1,
'pagination.range' => ($first+1) . "-" . ($last+1),
};
}
}
if ($limit) {