Lines 1108-1113
sub GetMarcSubfieldStructureFromKohaField {
Link Here
|
1108 |
return wantarray ? @{$mss->{$kohafield}} : $mss->{$kohafield}->[0]; |
1108 |
return wantarray ? @{$mss->{$kohafield}} : $mss->{$kohafield}->[0]; |
1109 |
} |
1109 |
} |
1110 |
|
1110 |
|
|
|
1111 |
=head2 GetMarcBiblio |
1112 |
|
1113 |
my $record = GetMarcBiblio({ |
1114 |
biblionumber => $biblionumber, |
1115 |
embed_items => $embeditems, |
1116 |
opac => $opac, |
1117 |
borcat => $patron_category }); |
1118 |
|
1119 |
Returns MARC::Record representing a biblio record, or C<undef> if the |
1120 |
biblionumber doesn't exist. |
1121 |
|
1122 |
Both embed_items and opac are optional. |
1123 |
If embed_items is passed and is 1, items are embedded. |
1124 |
If opac is passed and is 1, the record is filtered as needed. |
1125 |
|
1126 |
=over 4 |
1127 |
|
1128 |
=item C<$biblionumber> |
1129 |
|
1130 |
the biblionumber |
1131 |
|
1132 |
=item C<$embeditems> |
1133 |
|
1134 |
set to true to include item information. |
1135 |
|
1136 |
=item C<$opac> |
1137 |
|
1138 |
set to true to make the result suited for OPAC view. This causes things like |
1139 |
OpacHiddenItems to be applied. |
1140 |
|
1141 |
=item C<$borcat> |
1142 |
|
1143 |
If the OpacHiddenItemsExceptions system preference is set, this patron category |
1144 |
can be used to make visible OPAC items which would be normally hidden. |
1145 |
It only makes sense in combination both embed_items and opac values true. |
1146 |
|
1147 |
=back |
1148 |
|
1149 |
=cut |
1111 |
|
1150 |
|
1112 |
sub GetMarcBiblio { |
1151 |
sub GetMarcBiblio { |
1113 |
my ($params) = @_; |
1152 |
my ($params) = @_; |
Lines 1128-1169
sub GetMarcBiblio {
Link Here
|
1128 |
return $biblio; |
1167 |
return $biblio; |
1129 |
} |
1168 |
} |
1130 |
|
1169 |
|
1131 |
=head2 GetMarcBiblio |
1170 |
=head2 GetMarcBiblios |
1132 |
|
1171 |
|
1133 |
my $record = GetMarcBiblio({ |
1172 |
my $records = GetMarcBiblio({ |
1134 |
biblionumber => $biblionumber, |
1173 |
biblionumbers => $biblionumbers, |
1135 |
embed_items => $embeditems, |
1174 |
embed_items => $embeditems, |
1136 |
opac => $opac, |
1175 |
opac => $opac, |
1137 |
borcat => $patron_category }); |
1176 |
borcat => $patron_category }); |
1138 |
|
1177 |
|
1139 |
Returns MARC::Record representing a biblio record, or C<undef> if the |
1178 |
Same as L</GetMarcBiblio> but accepts multiple C<biblionumbers>. Returns a |
1140 |
biblionumber doesn't exist. |
1179 |
hashref of C<MARC::Record>s keyed by biblionumbers in scalar context, or a |
|
|
1180 |
list of C<MARC::Records> in list context, or C<undef> if non of the |
1181 |
biblionumbers exist. Accepts the same arguments as C<GetMarcBiblio> |
1182 |
but instead of a single C<biblionumber> takes multiple C<biblionumbers> and |
1183 |
so that only database has to be performed to fetch biblios and biblio items |
1184 |
respectively. This has a substatial performance gain when a large number of |
1185 |
biblios is to be fetched. |
1141 |
|
1186 |
|
1142 |
Both embed_items and opac are optional. |
1187 |
For a more detailed explanation of arguments and behavior see |
1143 |
If embed_items is passed and is 1, items are embedded. |
1188 |
L</GetMarcBiblios>. |
1144 |
If opac is passed and is 1, the record is filtered as needed. |
|
|
1145 |
|
1189 |
|
1146 |
=over 4 |
1190 |
=over 4 |
1147 |
|
1191 |
|
1148 |
=item C<$biblionumber> |
1192 |
=item C<$biblionumbers> |
1149 |
|
1193 |
|
1150 |
the biblionumber |
1194 |
The biblionumbers to be fetched. |
1151 |
|
1195 |
|
1152 |
=item C<$embeditems> |
1196 |
=item C<$embeditems> |
1153 |
|
1197 |
|
1154 |
set to true to include item information. |
|
|
1155 |
|
1156 |
=item C<$opac> |
1198 |
=item C<$opac> |
1157 |
|
1199 |
|
1158 |
set to true to make the result suited for OPAC view. This causes things like |
|
|
1159 |
OpacHiddenItems to be applied. |
1160 |
|
1161 |
=item C<$borcat> |
1200 |
=item C<$borcat> |
1162 |
|
1201 |
|
1163 |
If the OpacHiddenItemsExceptions system preference is set, this patron category |
|
|
1164 |
can be used to make visible OPAC items which would be normally hidden. |
1165 |
It only makes sense in combination both embed_items and opac values true. |
1166 |
|
1167 |
=back |
1202 |
=back |
1168 |
|
1203 |
|
1169 |
=cut |
1204 |
=cut |
Lines 2798-2811
sub ModZebra {
Link Here
|
2798 |
} |
2833 |
} |
2799 |
} |
2834 |
} |
2800 |
|
2835 |
|
2801 |
|
|
|
2802 |
=head2 EmbedItemsInMarcBiblio |
2836 |
=head2 EmbedItemsInMarcBiblio |
2803 |
|
2837 |
|
2804 |
EmbedItemsInMarcBiblio({ |
2838 |
$marc_with_item = EmbedItemsInMarcBiblio({ |
2805 |
marc_record => $marc, |
2839 |
marc_record => $marc, |
2806 |
biblionumber => $biblionumber, |
2840 |
biblionumber => $biblionumber, |
2807 |
item_numbers => $itemnumbers, |
2841 |
item_numbers => $itemnumbers, |
2808 |
opac => $opac }); |
2842 |
opac => $opac |
|
|
2843 |
borcat => $borcat |
2844 |
}); |
2809 |
|
2845 |
|
2810 |
Given a MARC::Record object containing a bib record, |
2846 |
Given a MARC::Record object containing a bib record, |
2811 |
modify it to include the items attached to it as 9XX |
2847 |
modify it to include the items attached to it as 9XX |
Lines 2839-2847
sub EmbedItemsInMarcBiblio {
Link Here
|
2839 |
return $marc_with_items; |
2875 |
return $marc_with_items; |
2840 |
} |
2876 |
} |
2841 |
|
2877 |
|
|
|
2878 |
=head2 EmbedItemsInMarcBiblios |
2879 |
|
2880 |
my $marc_records_with_items = EmbedItemsInMarcBiblio({ |
2881 |
marc_records => $marc_records, |
2882 |
item_numbers => $itemnumbers, |
2883 |
opac => $opac |
2884 |
borcat => $borcat |
2885 |
}); |
2886 |
|
2887 |
Same as L</EmbedItemsInMarcBiblio> but accepts multiple C<$marc_records>. |
2888 |
|
2889 |
C<$marc_records> is a hashref of C<MARC::Record>s keyed by biblionumbers. |
2890 |
|
2891 |
Returns a hashref on the same format with items embedded. |
2892 |
|
2893 |
For a more detailed explanation of arguments and behaviour see |
2894 |
L</EmbedItemsInMarcbiblio>. |
2895 |
|
2896 |
=over 4 |
2897 |
|
2898 |
=item C<$marc_records> |
2899 |
|
2900 |
A hashref of C<MARC::Record>s keyed by biblionumbers for which items should |
2901 |
be embedded. |
2902 |
|
2903 |
=item C<$itemnumbers> |
2904 |
|
2905 |
=item C<$opac> |
2906 |
|
2907 |
=item C<$borcat> |
2908 |
|
2909 |
=back |
2910 |
|
2911 |
=cut |
2912 |
|
2842 |
sub EmbedItemsInMarcBiblios { |
2913 |
sub EmbedItemsInMarcBiblios { |
2843 |
my ($params) = @_; |
2914 |
my ($params) = @_; |
2844 |
my ($marc_records, $biblionumber, $itemnumbers, $opac, $borcat); |
2915 |
my ($marc_records, $itemnumbers, $opac, $borcat); |
2845 |
$marc_records = $params->{marc_records}; |
2916 |
$marc_records = $params->{marc_records}; |
2846 |
|
2917 |
|
2847 |
$itemnumbers = $params->{item_numbers}; |
2918 |
$itemnumbers = $params->{item_numbers}; |