[Koha-patches] [PATCH] [SIGNED-OFF] Bug 5430: Add Control number as option to OPACSearchForTitleIn

Owen Leonard oleonard at myacpl.org
Wed Nov 24 17:35:43 CET 2010


From: Katrin Fischer <Katrin.Fischer.83 at web.de>

Makes {CONTROLNUMBER} available as new placeholder in
system preference OPACSearchForTitleIn.

{CONTROLNUMBER} will be replaced by the number in tag 001.

Signed-off-by: Owen Leonard <oleonard at myacpl.org>
---
 C4/Biblio.pm                                       |   19 +++++++++++++++++++
 .../prog/en/modules/admin/preferences/opac.pref    |    2 +-
 opac/opac-detail.pl                                |    3 +++
 3 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/C4/Biblio.pm b/C4/Biblio.pm
index 6a422be..4102e23 100644
--- a/C4/Biblio.pm
+++ b/C4/Biblio.pm
@@ -67,6 +67,7 @@ BEGIN {
 
       &GetISBDView
 
+      &GetMarcControlnumber
       &GetMarcNotes
       &GetMarcSubjects
       &GetMarcBiblio
@@ -1254,6 +1255,24 @@ sub GetAuthorisedValueDesc {
     }
 }
 
+=head2 GetMarcControlnumber
+
+  $marccontrolnumber = GetMarcControlnumber($record,$marcflavour);
+
+Get the control number / record Identifier from the MARC record and return it.
+
+=cut
+
+sub GetMarcControlnumber {
+    my ( $record, $marcflavour ) = @_;
+    my $controlnumber = "";
+    # Control number or Record identifier are the same field in MARC21 and UNIMARC
+    # Keep $marcflavour for possible later use
+    if ($marcflavour eq "MARC21" || $marcflavour eq "UNIMARC") {
+        $controlnumber = $record->field('001')->data();
+    }
+}
+
 =head2 GetMarcNotes
 
   $marcnotesarray = GetMarcNotes( $record, $marcflavour );
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
index 2619d8c..55560d3 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
@@ -137,7 +137,7 @@ OPAC:
               class: code
         -
             - 'Include a "More Searches" box on the detail pages of items on the OPAC, with the following HTML (leave blank to disable):'
-            - '<br />Note: The placeholders {TITLE}, {ISBN} and {AUTHOR} will be replaced with information from the displayed record.'
+            - '<br />Note: The placeholders {CONTROLNUMBER}, {TITLE}, {ISBN} and {AUTHOR} will be replaced with information from the displayed record.'
             - pref: OPACSearchForTitleIn
               type: textarea
               class: code
diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl
index 0cd05f7..2de8ec8 100755
--- a/opac/opac-detail.pl
+++ b/opac/opac-detail.pl
@@ -584,12 +584,15 @@ if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->pref
 }
 
 #Search for title in links
+my $marccontrolnumber   = GetMarcControlnumber   ($record, $marcflavour);
+
 if (my $search_for_title = C4::Context->preference('OPACSearchForTitleIn')){
     $dat->{author} ? $search_for_title =~ s/{AUTHOR}/$dat->{author}/g : $search_for_title =~ s/{AUTHOR}//g;
     $dat->{title} =~ s/\/+$//; # remove trailing slash
     $dat->{title} =~ s/\s+$//; # remove trailing space
     $dat->{title} ? $search_for_title =~ s/{TITLE}/$dat->{title}/g : $search_for_title =~ s/{TITLE}//g;
     $isbn ? $search_for_title =~ s/{ISBN}/$isbn/g : $search_for_title =~ s/{ISBN}//g;
+    $marccontrolnumber ? $search_for_title =~ s/{CONTROLNUMBER}/$marccontrolnumber/g : $search_for_title =~ s/{CONTROLNUMBER}//g;
  $template->param('OPACSearchForTitleIn' => $search_for_title);
 }
 
-- 
1.7.1



More information about the Koha-patches mailing list