From 703156daee740882c5ea6c7d6041969749a8a8dd Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Wed, 24 Nov 2010 11:35:43 -0500 Subject: [PATCH] Bug 5430: Add Control number as option to OPACSearchForTitleIn 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 Signed-off-by: Chris Cormack --- C4/Biblio.pm | 19 +++++++++++++++++++ .../en/modules/admin/preferences/opac.pref | 2 +- opac/opac-detail.pl | 3 +++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index 6a422be0c8..4102e23037 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 2619d8c0da..55560d39f5 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):' - - '
Note: The placeholders {TITLE}, {ISBN} and {AUTHOR} will be replaced with information from the displayed record.' + - '
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 0cd05f73c4..2de8ec80aa 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); } -- 2.39.5