From 32bbaf93f5dff8f2e4c9af96b23cc373b72bfa01 Mon Sep 17 00:00:00 2001 From: Salvador Zaragoza Rubio Date: Fri, 27 May 2011 11:12:52 +0200 Subject: [PATCH] Bug 6483 - Paging in opac-detail when coming from a search Content-Type: text/plain; charset="utf-8" Add paging in opac-detail when coming from a search to be able to continue viewing the previous and next register from the detail without returning to the results. The partial list pagination can be showed to increase forwarding or rewinding in the pagination. It's implemented for Zebra search and not build_grouped_results. The param busc with all the information from the search is stored on the session when running opac-search and opac-detail, outside these pages the busc param is removed from the session. A list of the biblionumbers inside the OPACnumSearchResults range is passed to avoid repeating the searching everytime we see the previous or next biblio. The searching will be run again when we are going to exceed the list and a new one will be calculated from the new search. --- C4/Auth.pm | 5 + koha-tmpl/opac-tmpl/prog/en/css/opac.css | 88 ++++++ .../opac-tmpl/prog/en/includes/opac-facets.inc | 1 - koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 104 +++++++- opac/opac-detail.pl | 284 +++++++++++++++++++- opac/opac-search.pl | 37 +++ 6 files changed, 516 insertions(+), 3 deletions(-) mode change 100644 => 100755 C4/Auth.pm mode change 100644 => 100755 koha-tmpl/opac-tmpl/prog/en/css/opac.css mode change 100644 => 100755 koha-tmpl/opac-tmpl/prog/en/includes/opac-facets.inc mode change 100644 => 100755 koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt mode change 100644 => 100755 koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt diff --git a/C4/Auth.pm b/C4/Auth.pm old mode 100644 new mode 100755 index b416449..cd4e520 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -386,6 +386,11 @@ sub get_template_and_user { my $LibraryNameTitle = C4::Context->preference("LibraryName"); $LibraryNameTitle =~ s/<(?:\/?)(?:br|p)\s*(?:\/?)>/ /sgi; $LibraryNameTitle =~ s/<(?:[^<>'"]|'(?:[^']*)'|"(?:[^"]*)")*>//sg; + # clean up the busc param in the session if the page is not opac-detail + if ($in->{'template_name'} =~ /opac-.+\.(?:tt|tmpl)$/ && $in->{'template_name'} !~ /opac-detail\.[a-z]+$/) { + my $sessionSearch = get_session($in->{'query'}->cookie("CGISESSID")); + $sessionSearch->clear(["busc"]) if ($sessionSearch->param("busc")); + } # variables passed from CGI: opac_css_override and opac_search_limits. my $opac_search_limit = $ENV{'OPAC_SEARCH_LIMIT'}; my $opac_limit_override = $ENV{'OPAC_LIMIT_OVERRIDE'}; diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css old mode 100644 new mode 100755 index aa295c9..891db4a --- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css +++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css @@ -2014,3 +2014,91 @@ div.ft { #opac-isbddetail #isbdcontents { margin-top: 2em; } div.bibmessage { background-color : #ffffb0; border-radius : 5px; padding : 3px; margin : 2px; } + + +/* pagination */ +.pagination { + padding-top:10px; + float:left; + width:100%; +} + +.pagination_menu { + text-align: center; + width:100%; +} + +.pagination_menu a { + text-decoration:none!important; +} + +.pagination_menu a:hover { + text-decoration:underline; +} + +/* nav */ +.nav { + float:left +} +.nav ul {} +.nav li { + list-style:none; + float:left; + padding:4px; + color:#999; +} + +.nav li a { + text-decoration:none!important; +} + +.nav li a:hover { + text-decoration:underline; +} + +.nav li ul { + float:left; +} + +.back { + float:right; +} + +.back input{ + background:none!important; + color:#999!important; +} +#a_listResults{ + float:left; +} +#listResults{ + line-height: 0.7em; +} +.pagination_list { + float:bottom +} +.pagination_list ul { + margin-left: 150px; + padding-top: 40px; + width: 350px; +} +.pagination_list li { + list-style:none; + float:bottom; + padding:4px; + color:#999; + border-bottom : 1px solid #DDDDDD; +} +.pagination_list li.highlight { + background-color : #F3F3F3; + border-top : 1px solid #DDDDDD; + border-bottom : 1px solid #DDDDDD; +} +.pagination_list span.li_pag_index { + color : #999; + text-align: left; + font-size: 15px; + font-weight : bold; + padding-right: 10px; +} + diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/opac-facets.inc b/koha-tmpl/opac-tmpl/prog/en/includes/opac-facets.inc old mode 100644 new mode 100755 index 2129026..3507880 --- a/koha-tmpl/opac-tmpl/prog/en/includes/opac-facets.inc +++ b/koha-tmpl/opac-tmpl/prog/en/includes/opac-facets.inc @@ -2,7 +2,6 @@ [% IF ( facets_loop ) %]

Refine your search

-[% query_cgi %]