From f4130c9af236f67205057730a23edd636169ff56 Mon Sep 17 00:00:00 2001 From: Aleisha Amohia <aleishaamohia@hotmail.com> Date: Thu, 16 Feb 2017 02:28:13 +0000 Subject: [PATCH] Bug 13205: Last/first page options for result list paging for OPAC Same fix but on OPAC side. Same test plan Sponsored-by: Catalyst IT Signed-off-by: Dilan Johnpulle <dilan@calyx.net.au> Signed-off-by: Your Full Name <your_email> Signed-off-by: Lee Jamison <ldjamison@marywood.edu> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> --- .../bootstrap/en/includes/page-numbers.inc | 26 ++++++++++++---------- opac/opac-search.pl | 2 ++ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/page-numbers.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/page-numbers.inc index f18c9ce..63e083e 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/page-numbers.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/page-numbers.inc @@ -1,19 +1,21 @@ [% IF ( PAGE_NUMBERS ) %] <div class="pagination pagination-small noprint"> <ul> - [% IF ( previous_page_offset.defined ) %] - <li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&offset=[% previous_page_offset %][% IF ( sort_by ) %]&sort_by=[% sort_by |html %][% END %]">« Previous</a></li> - [% END %] - [% FOREACH PAGE_NUMBER IN PAGE_NUMBERS %] - [% IF ( PAGE_NUMBER.highlight ) %] - <li class="active"><a href="#">[% PAGE_NUMBER.pg %]</a></li> - [% ELSE %] - <li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&offset=[% PAGE_NUMBER.offset %][% IF ( sort_by ) %]&sort_by=[% sort_by |html%][% END %]">[% PAGE_NUMBER.pg %]</a></li> + <li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&sort_by=[% sort_by |html %][% END %]">First</a></li> + [% IF ( previous_page_offset.defined ) %] + <li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&offset=[% previous_page_offset %][% IF ( sort_by ) %]&sort_by=[% sort_by |html %][% END %]">« Previous</a></li> [% END %] - [% END %] - [% IF ( next_page_offset ) %] - <li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&offset=[% next_page_offset %][% IF ( sort_by ) %]&sort_by=[% sort_by |html %][% END %]">Next »</a></li> - [% END %] + [% FOREACH PAGE_NUMBER IN PAGE_NUMBERS %] + [% IF ( PAGE_NUMBER.highlight ) %] + <li class="active"><a href="#">[% PAGE_NUMBER.pg %]</a></li> + [% ELSE %] + <li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&offset=[% PAGE_NUMBER.offset %][% IF ( sort_by ) %]&sort_by=[% sort_by |html%][% END %]">[% PAGE_NUMBER.pg %]</a></li> + [% END %] + [% END %] + [% IF ( next_page_offset ) %] + <li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&offset=[% next_page_offset %][% IF ( sort_by ) %]&sort_by=[% sort_by |html %][% END %]">Next »</a></li> + [% END %] + <li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&offset=[% last_page %][% IF ( sort_by ) %]&sort_by=[% sort_by |html %][% END %]">Last</a></li> </ul> </div> [% END %] diff --git a/opac/opac-search.pl b/opac/opac-search.pl index c10e958..506fc57 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -839,6 +839,7 @@ for (my $i=0;$i<@servers;$i++) { my @page_numbers; # total number of pages there will be my $pages = ceil($hits / $results_per_page); + my $last_page = ($pages * $results_per_page) - $results_per_page; # default page number my $current_page_number = 1; if ($offset) { @@ -889,6 +890,7 @@ for (my $i=0;$i<@servers;$i++) { } $template->param( PAGE_NUMBERS => \@page_numbers, + last_page => $last_page, previous_page_offset => $previous_page_offset) unless $pages < 2; $template->param(next_page_offset => $next_page_offset) unless $pages eq $current_page_number; } -- 2.1.4