[Koha-patches] [PATCH] Bug 4329 OPAC search by shelving location option

Jane Wagner jwagner at ptfs.com
Thu Apr 1 15:06:07 CEST 2010


Sponsored by Arcadia University

Adds a search (under More Options in OPAC advanced search) to allow users to select one or more shelving locations as search limits.  Also added section to opac.css to format shelving location search table like itemtype search table.  Shelving location option is under Expanded Options.  If a site doesn't use shelving locations, it can be hidden with a jquery statement in opacuserjs syspref as follows:

   $(document).ready(function(){
   $("#advsearch #advsearch-shelvingloc").remove();
   });
---
 koha-tmpl/opac-tmpl/prog/en/css/opac.css           |   23 ++++++++++++++++++++
 .../opac-tmpl/prog/en/modules/opac-advsearch.tmpl  |   14 ++++++++++++
 opac/opac-search.pl                                |   18 +++++++++++++++
 3 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
index b590473..5ce5208 100644
--- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css
+++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css
@@ -648,6 +648,29 @@ input.deleteshelf {
 	background-color : #F8F8EB;
 }
 
+/* the shelving location list in advanced search */
+#advsearch-shelvingloc table {
+	border-collapse : separate;
+	border-spacing : 3px;
+	border : 0px;
+	margin : 0px;
+	background-color : white;
+	border : 0px solid #D8DEB8;
+}
+
+#advsearch-shelvingloc table tr td {
+	background-color : #F8F8EB;
+	border : 0px;
+	margin : 0px;
+	width : 700px;
+}
+
+#advsearch-shelvingloc td {
+	font-size : 0.8em;
+	background-color : #F8F8EB;
+}
+
+
 body#advsearch #breadcrumbs {
 	line-height : 1px;
 	height : 1px;
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
index 1d211c4..e4ecff3 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
@@ -172,6 +172,20 @@
                 </select></p><!-- <a href="">Show all languages</a>-->
 <!-- /LANGUAGE LIMIT -->
 </fieldset>
+    <div id="advsearch-shelvingloc" class="container">
+	<fieldset>
+    <legend>Limit to any of the following shelving locations:</legend>
+    <table>
+        <tr>
+      <!--TMPL_LOOP Name="shelvinglocsloop"-->
+        <td><input type="checkbox" id="<!-- TMPL_VAR NAME="ccl" -->-<!--TMPL_VAR Name="number" -->" name="limit" value="mc-<!-- TMPL_VAR NAME="ccl" -->:<!--TMPL_VAR Name="code" -->"/><label for="<!-- TMPL_VAR NAME="ccl" -->-<!--TMPL_VAR Name="number" -->">
+        <!--TMPL_VAR Name="description" --></label></td>
+        <!-- TMPL_UNLESS name="count5" --><!-- TMPL_UNLESS name="__last__" --></tr><tr><!-- /TMPL_UNLESS --><!-- /TMPL_UNLESS -->
+      <!--/TMPL_LOOP-->
+		</tr>
+    </table>
+	</fieldset>
+    </div>
     <!--TMPL_IF Name="usmarc"-->
         <!-- SUBTYPE LIMITS -->
             <div id="subtypes" class="container"><fieldset>
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index e1d61fa..d72092f 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -148,6 +148,24 @@ $template->param(
 my $languages_limit_loop = getAllLanguages();
 $template->param(search_languages_loop => $languages_limit_loop,);
 
+# add support for searching by shelving location
+my @shelvinglocsloop;
+my $selected=1;
+my $cnt2;
+my $shelflocations =GetAuthorisedValues("LOC");
+for my $thisloc (sort {$a->{'lib'} cmp $b->{'lib'}} @$shelflocations) {
+    my %row =(
+                number => $cnt2++,
+                ccl => 'loc',
+                code => $thisloc->{authorised_value},
+                selected => $selected,
+                description => $thisloc->{'lib'},
+                count5 => $cnt2 % 4,
+              );
+    	$selected = 0; # set to zero after first pass through
+    push @shelvinglocsloop, \%row;
+}
+$template->param(shelvinglocsloop => \@shelvinglocsloop);
 # load the Type stuff
 my $itemtypes = GetItemTypes;
 # the index parameter is different for item-level itemtypes
-- 
1.5.6.5




More information about the Koha-patches mailing list