From 9de11a766b69e110d058b7aea5f6c10d434de542 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Wed, 21 Nov 2018 13:54:45 +0000 Subject: [PATCH] Bug 21871: Show authority 856 links in the OPAC This patch modifies the authority detail view in the OPAC so that any links found in 856 tags are displayed and active. To test, apply the patch and locate or create an authority record which contains one or more URLs in 856 tags. - View this record in the OPAC and confirm that the links appear. - Test records with and without link text. - Test records with and without public notes. Signed-off-by: Devinim Signed-off-by: Charles Farmer Signed-off-by: Katrin Fischer Signed-off-by: Katrin Fischer https://bugs.koha-community.org/show_bug.cgi?id=21817 Signed-off-by: Nick Clemens --- .../bootstrap/en/modules/opac-auth-detail.tt | 34 +++++++++++++++++++ opac/opac-authoritiesdetail.pl | 9 +++-- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-detail.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-detail.tt index 7d19e6b686..db3d30f0b4 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-detail.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-detail.tt @@ -109,6 +109,40 @@ [% END %] + [% IF ( MARCURLS ) %] +
+ Online resources: + +
+ [% END # / IF MARCURLS %] +
  • Notes
  • diff --git a/opac/opac-authoritiesdetail.pl b/opac/opac-authoritiesdetail.pl index 0f389a010e..562457b7b3 100755 --- a/opac/opac-authoritiesdetail.pl +++ b/opac/opac-authoritiesdetail.pl @@ -40,6 +40,7 @@ use Modern::Perl; use C4::AuthoritiesMarc; use C4::Auth; +use C4::Biblio; use C4::Context; use C4::Output; use CGI qw ( -utf8 ); @@ -54,6 +55,7 @@ my $query = new CGI; my $dbh = C4::Context->dbh; my $display_hierarchy = C4::Context->preference("AuthDisplayHierarchy"); +my $marcflavour = C4::Context->preference("marcflavour"); my $show_marc = $query->param('marc'); # open template @@ -86,11 +88,14 @@ if ($display_hierarchy){ my $count = $authority ? $authority->get_usage_count : 0; my $authority_types = Koha::Authority::Types->search( {}, { order_by => ['authtypecode'] } ); +my $marcurlsarray = GetMarcUrls( $record, $marcflavour ); + $template->param( authority_types => $authority_types, authtypetext => $authority_types->find($authtypecode)->authtypetext, authid => $authid, count => $count, + MARCURLS => $marcurlsarray, ); # find the marc field/subfield used in biblio by this authority @@ -117,7 +122,7 @@ if ($show_marc) { my @subfields_data; # skip UNIMARC fields <200, they are useless for a patron - next if C4::Context->preference('marcflavour') eq 'UNIMARC' && $field->tag() <200; + next if $marcflavour eq 'UNIMARC' && $field->tag() <200; # if tag <10, there's no subfield, use the "@" trick if ( $field->tag() < 10 ) { @@ -129,7 +134,7 @@ if ($show_marc) { $subfield_data{marc_tag} = $field->tag(); push( @subfields_data, \%subfield_data ); } - elsif ( C4::Context->preference('marcflavour') eq 'MARC21' && $field->tag() eq 667 ) { + elsif ( $marcflavour eq 'MARC21' && $field->tag() eq 667 ) { # tagfield 667 is a nonpublic general note in MARC21, which shouldn't be shown in the OPAC } else { -- 2.39.5