@@ -, +, @@ - Get a record A with a lot of items - Create a new record B - Create a linked items from B to A with a field 773 (461 in UNIMARC) : biblionumber in $0 and itemnumber in $9 - Display B record details --- C4/Search.pm | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) --- a/C4/Search.pm +++ a/C4/Search.pm @@ -2006,21 +2006,13 @@ sub searchResults { } foreach my $hostfield ( $marcrecord->field($analyticsfield)) { my $hostbiblionumber = $hostfield->subfield("0"); - my $linkeditemnumber = $hostfield->subfield("9"); - if(!$hostbiblionumber eq undef){ - my $hostbiblio = GetMarcBiblio({ - biblionumber => $hostbiblionumber, - embed_items => 1 }); - my ($itemfield, undef) = GetMarcFromKohaField( 'items.itemnumber', GetFrameworkCode($hostbiblionumber) ); - if(!$hostbiblio eq undef){ - my @hostitems = $hostbiblio->field($itemfield); - foreach my $hostitem (@hostitems){ - if ($hostitem->subfield("9") eq $linkeditemnumber){ - my $linkeditem =$hostitem; - # append linked items if they exist - if (!$linkeditem eq undef){ - push (@fields, $linkeditem);} - } + if ($hostbiblionumber) { + my $linkeditemnumber = $hostfield->subfield("9"); + my $linkeditemmarc = C4::Items::GetMarcItem( $hostbiblionumber, $linkeditemnumber ); + if ($linkeditemmarc) { + my $linkeditemfield = $linkeditemmarc->field($itemtag); + if ($linkeditemfield) { + push( @fields, $linkeditemfield ); } } } --