+ elsif ( C4::Context->preference('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 {
+ my @subf = $field->subfields;
+
+# loop through each subfield
+ for my $i ( 0 .. $#subf ) {
+ $subf[$i][0] = "@" unless defined $subf[$i][0];
+ next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{hidden} );
+# skip useless subfields (for patrons)
+ next if $subf[$i][0] =~ /7|8|9/;
+ my %subfield_data;
+ $subfield_data{marc_lib} =
+ $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{lib};
+ $subfield_data{marc_subfield} = $subf[$i][0];
+ $subfield_data{marc_tag} = $field->tag();
+ $subfield_data{isurl} = $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{isurl};
+ $subfield_data{marc_value} = $subf[$i][1];
+ push( @subfields_data, \%subfield_data );
+ }
+ }
+ if ( $#subfields_data >= 0 ) {
+ my %tag_data;
+ $tag_data{tag} =
+ $field->tag()
+ . ' '
+ . C4::Koha::display_marc_indicators($field)
+ . ' - ' . $tagslib->{ $field->tag() }->{lib};
+ $tag_data{subfield} = \@subfields_data;
+ push( @loop_data, \%tag_data );
+ }