From 7d3aab4876552fd3bb0a4b1f71271891dc81744f Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 10 Feb 2020 15:17:38 +0000 Subject: [PATCH] Bug 13574: Fix display of repeatable item subfields Content-Type: text/plain; charset=utf-8 --- catalogue/MARCdetail.pl | 20 +++++++++++++++----- opac/opac-MARCdetail.pl | 7 ++++++- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/catalogue/MARCdetail.pl b/catalogue/MARCdetail.pl index adfe24c192..7c250387bc 100755 --- a/catalogue/MARCdetail.pl +++ b/catalogue/MARCdetail.pl @@ -276,14 +276,24 @@ foreach my $field (@fields) { for my $i ( 0 .. $#subf ) { next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{tab} ne 10 ); next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{hidden} =~ /-7|-4|-3|-2|2|3|5|8/); + push @item_subfield_codes, $subf[$i][0]; $witness{ $subf[$i][0] } = $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{lib}; - $item->{ $subf[$i][0] } = GetAuthorisedValueDesc( $field->tag(), - $subf[$i][0], $subf[$i][1], '', $tagslib) || $subf[$i][1]; - $norequests = 0 - if $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{kohafield} eq 'items.notforloan' - and $subf[$i][1] == 0; + + # Allow repeatables (BZ 13574) + if( $item->{$subf[$i][0]}) { + $item->{$subf[$i][0]} .= ' | '; + } else { + $item->{$subf[$i][0]} = q{}; + } + if( $tagslib->{$field->tag()}->{$subf[$i][0]}->{isurl} ) { + $item->{$subf[$i][0]} .= "$subf[$i][1]"; + } else { + $item->{ $subf[$i][0] } .= GetAuthorisedValueDesc( $field->tag(), $subf[$i][0], $subf[$i][1], '', $tagslib) || $subf[$i][1]; + } + + $norequests = 0 if $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{kohafield} eq 'items.notforloan' and $subf[$i][1] == 0; } push @item_loop, $item if $item; } diff --git a/opac/opac-MARCdetail.pl b/opac/opac-MARCdetail.pl index 4bc9294b50..6f114a0654 100755 --- a/opac/opac-MARCdetail.pl +++ b/opac/opac-MARCdetail.pl @@ -294,7 +294,12 @@ foreach my $field (@fields) { $witness{ $subf[$i][0] } = $sf_def->{lib}; if ( $sf_def->{isurl} ) { - $item->{ $subf[$i][0] } = "$subf[$i][1]"; + if( $item->{$subf[$i][0]} ) { + $item->{$subf[$i][0]} .= ' | '; + } else { + $item->{$subf[$i][0]} = q{}; + } + $item->{ $subf[$i][0] } .= "$subf[$i][1]"; } elsif ( $sf_def->{kohafield} eq "biblioitems.isbn" ) { $item->{ $subf[$i][0] } = $subf[$i][1]; -- 2.11.0