From e6b987c394ae3bc1037f47736a2924f3f169315c 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. Signed-off-by: Magnus Enger --- C4/Auth.pm | 5 + koha-tmpl/opac-tmpl/prog/en/css/opac.css | 166 +++++++++++- koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 176 ++++++++++++ koha-tmpl/opac-tmpl/prog/images/ico_b_results.gif | Bin 0 -> 58 bytes opac/opac-detail.pl | 284 +++++++++++++++++++- opac/opac-search.pl | 37 +++ 6 files changed, 665 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 create mode 100644 koha-tmpl/opac-tmpl/prog/images/ico_b_results.gif diff --git a/C4/Auth.pm b/C4/Auth.pm old mode 100644 new mode 100755 index 16e908a..6cbd728 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -393,6 +393,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)$/ && $1 !~ /^(?:MARC|ISBD)?detail$/) { + my $sessionSearch = get_session($sessionID || $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 335e091..e8c3b69 --- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css +++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css @@ -1888,7 +1888,7 @@ table#items th { padding : 2px; } #action { - margin-top: 0; + /*margin-top: 0;*/ } #similars h4 { text-align : left; @@ -2038,4 +2038,166 @@ div.bibmessage { background-color : #ffffb0; border-radius : 5px; padding : 3px; #renewall_link { background-image : url(../../images/checks.png); -} \ No newline at end of file +} + +/* pagination */ +.pagination { + position: absolute; + top:32px; + left: -1px; + width: 100%; + height:auto; + border: 1px solid #D0D0D0; + display: none; + background-color:#F3F3F3; + padding-bottom:10px; +} + + +/* nav */ +.nav .close_pagination { + padding-right: 10px; + position: absolute; + right: 3px; + top: -25px; +} +.nav .close_pagination a { + text-decoration:none!important; +} + +.nav ul { + padding-top: 10px; +} + +.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; +} + +.pagination_list { + float:bottom; +} +.pagination_list ul { + padding-top: 40px; + padding-left:0px; +} +.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: #999999; + float: left; + font-size: 15px; + font-weight: bold; + padding-right: 10px; + text-align: right; + width: 13px; + +} + +.pagination_list li a {padding-left:0px;} + + +.nav_results { + background-color: #F3F3F3; + border: 1px solid #D0D0D0; + margin-top: 0.5em; + position:relative; +} + +.nav_results .l_Results a { + background:#E1E1E1 url("../../images/ico_b_results.gif") 14px 13px no-repeat; + color:#006699; + display:block; + padding:8px 28px; + text-decoration:none; +} +.nav_results .l_Results a:hover { + background-color:#D9D9D9; +} +.nav_results ul.pg_menu { + height:25px; + border-top: 1px solid #D0D0D0; +} +.nav_results ul.pg_menu li { + color:#B2B2B2; + display:block; + float:left; + padding:5px 0; + list-style:none; + text-align:center; +} +.nav_results ul.pg_menu li.back_results { + padding:5px 0px; + width:45%; + border-left: 1px solid #D0D0D0; + border-right: 1px solid #D0D0D0; +} +.nav_results ul.pg_menu li a { + text-decoration:none; + font-weight:normal; + color:#4D4D4D; +} +.nav_results ul.pg_menu li a:hover { + color:#006699; +} +.nav_results ul.pg_menu li.left_results { + margin-right:10px; +} +.nav_results ul.pg_menu li.right_results { + margin-left:10px; +} + +.nav_results #listResults{ + line-height: 0.7em; +} + +.nav_results #listResults li { + background-color:#999999; + color:#C5C5C5; + font-weight:normal; + display:block; + margin-right:1px; + font-size:0.9em; + padding:5px 0px; + text-align:center; + min-width:20px; +} + +.nav_results #listResults li:hover {background-color:#006699;} + +.nav_results #listResults li a { color:#FFFFFF; font-weight:normal;} + + 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 diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt old mode 100644 new mode 100755 index 1da6e38..2b4eb8a --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt @@ -3,6 +3,17 @@