[Koha-bugs] [Bug 13205] Last/First page options for result list paging

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Fri Mar 17 06:38:31 CET 2017


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13205

--- Comment #6 from dilan at calyx.net.au ---
Comment on attachment 61194
  --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=61194
Bug 13205: Last/first page options for result list paging for OPAC

>From bd80eca290f389e8e12d63dd220ec639763adcbb Mon Sep 17 00:00:00 2001
>From: Aleisha Amohia <aleishaamohia at 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 at calyx.net.au>
>
>---
> .../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 a84e9d3..130aad3 100755
>--- a/opac/opac-search.pl
>+++ b/opac/opac-search.pl
>@@ -837,6 +837,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) {
>@@ -887,6 +888,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

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list