1 [% PROCESS "opac/parts/misc_util.tt2";
3 ctx.page_title = attrs.title | html
4 ctx.metalinks.push('<meta property="og:image" content="' _ ctx.media_prefix _ '/opac/extras/ac/jacket/large/r/' _ ctx.bre_id _ '" />');
7 <!-- ****************** rdetail_summary.xml ***************************** -->
8 <abbr class="unapi-id" title='tag:[% ctx.hostname %],[% date.format(date.now, '%Y') %]:biblio-record_entry/[% ctx.bre_id %]'></abbr>
12 [%-# This holds the record summary information %]
13 <div id="rdetail_summary_header">
14 <div id='rdetail_title_div'>
15 <h1 id='rdetail_title' property="name">[% IF attrs.hl.title; accordion(attrs.hl.title); ELSE; accordion(attrs.title_extended); END %]</h1>
17 FOR link880 IN attrs.graphic_titles;
18 FOR alt IN link880.graphic;
19 '<h2 class="graphic880"';
21 ' dir="' _ alt.dir _ '"';
23 '>'; accordion(alt.value); '</h2>';
27 [%- INCLUDE "opac/parts/record/authors.tt2" %]
29 <div id="rdetail_image_div">
30 [%- IF obalkyknih_cz.enabled == 'true' %]
34 isbnissn = attrs.isbns.0;
35 IF (matches = isbnissn.match('^(.+?)(\s.+)$'));
40 isbnissn=attrs.issns.0;
43 <a href='http://obalkyknih.cz/view?isbn=[% isbnissn | html %]'>
45 alt="[% l('Image of item') %]" id='rdetail_image'
46 src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
49 <a href='[% ctx.media_prefix %]/opac/extras/ac/jacket/large/r/[% ctx.bre_id | uri %]'><img
50 alt="[% l('Image of item') %]" id='rdetail_image'
51 src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
56 <div id="format_actions">
59 [%- IF attrs.format_label %]
60 [% FOR format IN attrs.all_formats %]
61 <img title="[% format.label | html %]"
62 alt="[% format.label | html %]"
63 src="[% format.icon %]" />
64 [% format.label | html %]
68 <div id="rdetail_actions_div">
69 [%- search_ou = ctx.search_ou;
70 IF ctx.place_unfillable ||
71 ( attrs.marc_xml.findnodes('//*[local-name()="holdings" and @has_holdable="true"]').size
72 && (ctx.holds_block.enabled != 'true' || !attrs.org_copy_counts.$search_ou.available)
75 <div class="rdetail_aux_utils place_hold">
76 <a href="[% mkurl(ctx.opac_root _ '/place_hold',
77 {hold_target => ctx.bre_id, hold_type => 'T', hold_source_page => mkurl()}, stop_parms) %]"
78 class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/green_check.png[% ctx.cache_key %]"
79 [% img_alt(l('Place Hold on [_1]', attrs.title)) | html %]/>
80 <span class="place_hold">[% l('Place Hold') %]</span></a>
84 [%- IF ebook_api.enabled == 'true' && args.ebook %]
85 <div id="[%- ctx.bre_id -%]_ebook_checkout" class="rdetail_aux_utils ebook_action hidden">
86 <a href="[% mkurl(ctx.opac_root _ '/myopac/ebook_checkout',
87 {title => args.ebook.ebook_id, vendor => args.ebook.vendor, action => 'checkout'}, stop_parms) %]"
88 class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/green_check.png[% ctx.cache_key %]"
89 [% img_alt(l('Check Out [_1]', attrs.title)) | html %]/>
90 <span class="place_hold">[% l('Check Out E-Item') %]</span></a>
92 <div id="[%- ctx.bre_id -%]_ebook_place_hold" class="rdetail_aux_utils ebook_action hidden">
93 <a href="[% mkurl(ctx.opac_root _ '/myopac/ebook_place_hold',
94 {title => args.ebook.ebook_id, vendor => args.ebook.vendor, action => 'place_hold'}, stop_parms) %]"
95 class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/green_check.png[% ctx.cache_key %]"
96 [% img_alt(l('Place Hold on [_1]', attrs.title)) | html %]/>
97 <span class="place_hold">[% l('Place Hold on E-Item') %]</span></a>
101 <div class="rdetail_aux_utils toggle_list">
102 [% operation = ctx.mylist.grep('^' _ ctx.bre_id _ '$').size ? "delete" : "add";
103 addhref = mkurl(ctx.opac_root _ '/mylist/add', {record => ctx.bre_id}, stop_parms);
104 delhref = mkurl(ctx.opac_root _ '/mylist/delete', {record => ctx.bre_id}, stop_parms);
105 label = (operation == "add") ? l("Add to Basket") : l("Remove from Basket");
107 <a href="[% addhref %]" id="mylist_add_[% ctx.bre_id %]"
108 rel="nofollow" vocab=""
109 data-recid="[% ctx.bre_id %]" data-action="add"
110 class="no-dec mylist_action [% IF ctx.mylist.grep('^' _ ctx.bre_id _ '$').size %]hidden[% END %]"
111 title="[% l("Add [_1] to basket", attrs.title) | html %]" rel="nofollow" vocab="">
112 <img src="[% ctx.media_prefix %]/images/add-to-cart.png[% ctx.cache_key %]" alt="" />
113 [% l("Add to basket") %]
115 <a href="[% delhref %]" id="mylist_delete_[% ctx.bre_id %]"
116 rel="nofollow" vocab=""
117 data-recid="[% ctx.bre_id %]" data-action="delete"
118 class="mylist_action [% IF !ctx.mylist.grep('^' _ ctx.bre_id _ '$').size %]hidden[% END %]"
119 title="[% l("Remove [_1] from basket", attrs.title) | html %]" rel="nofollow" vocab="">
120 <img src="[% ctx.media_prefix %]/images/add-to-cart.png[% ctx.cache_key %]" alt="" />
121 [% l("Remove from basket") %]
124 <div class="rdetail_aux_utils toggle_list">
125 [% IF ctx.mylist.size %]
127 <a href="[% mkurl(ctx.opac_root _ '/myopac/lists') %]" class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/clipboard.png[% ctx.cache_key %]" alt="[% l('View Basket') %]" />[% l(' View Basket') %]</a>
129 <a href="[% mkurl(ctx.opac_root _ '/mylist') %]" class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/add-to-cart.png[% ctx.cache_key %]" alt="[% l('View My Basket') %]" />[% l(' View My Basket') %]</a>
133 <div class="rdetail_aux_utils toggle_list">
134 [% IF !ctx.is_staff %]
136 INCLUDE "opac/parts/bookbag_actions.tt2";
141 <div class="rdetail_aux_utils">
142 <img src="[% ctx.media_prefix %]/images/clipboard.png[% ctx.cache_key %]" alt="[% l('Print / Email Actions Image') %]" />
143 <a href="[% mkurl(ctx.opac_root _ '/record/print_preview/' _ ctx.bre_id) %]" class="no-dec" rel="nofollow" vocab="">[% l('Print') %]</a> /
144 <a href="[% mkurl(ctx.opac_root _ '/record/email_preview/' _ ctx.bre_id) %]" class="no-dec" rel="nofollow" vocab="">[% l('Email') %]</a>
146 [%- IF ctx.refworks.enabled == 'true' %]
147 [%- INCLUDE 'opac/parts/record/refworks.tt2' %]
149 [% IF !ctx.is_staff %]
150 <div class="rdetail_aux_utils share_record">
151 <a href="[% mkurl('', {locg =>CGI.param('locg'), copy_depth =>CGI.param('copy_depth')}, 1) %]" class="no-dec">
152 <img src="[% ctx.media_prefix %]/images/link.png[% ctx.cache_key %]" alt="[% l('Permalink') %]" />
157 [% IF !search.no_highlight %]
158 <div class="rdetail_aux_utils highlighting">
159 [% IF CGI.param('no_highlight') %]
160 <a href="[% mkurl('', {}, ['no_highlight']) %]" class="no-dec">
162 <a href="[% mkurl('', {no_highlight => '1'}) %]" class="no-dec">
164 <img src="[% ctx.media_prefix %]/images/highlight.png[% ctx.cache_key %]" alt="[% l('Toggle highlighting') %]" />
165 [% CGI.param('no_highlight') ? l('Enable Highlighting') : l('Disable Highlighting') %]
169 [%- IF ctx.is_staff %]
170 <div class="rdetail_aux_utils clear_addedcontent_cache">
171 <a href="[% ctx.media_prefix %]/opac/extras/ac/clearcache/all/r/[% ctx.bre_id | uri %]" class="no-dec" target="_blank">
172 [% l('Clear AddedContent Cache') %]
180 [%- IF openurl.enabled == 'true';
182 FOREACH issn IN args.issns;
184 openurls = openurls.import(ResolverResolver.resolve_issn(issn, openurl.baseurl));
186 IF openurls.size && openurls.0 != '';
188 <div id='rdetail_openurl'>
189 <strong class='rdetail_openurl_title'>[% l("Electronic resources") %]</strong>
192 FOREACH res IN openurls;
195 <td class='rdetail_openurl_entry'><a href="[% res.target_url %]" target="_blank" rel="noopener">[% res.public_name | html %]</a></td>
196 <td>[% res.target_coverage | html %]
197 [%- IF res.target_embargo != '';
199 res.target_embargo | html;
209 [%- merged_uris = args.uris.merge(args.online_res);
210 num_uris = merged_uris.size;
213 <h2 class="rdetail_uris">[% l("Electronic resources") %]</h2>
214 <div class="rdetail_uris">
215 [%- IF num_uris > 1 %]<ul>[% END %]
216 [%- FOR uri IN merged_uris %]
218 filtered_href = uri.href | html;
219 filtered_link = uri.link ? uri.link : '' | html;
220 filtered_note = uri.note ? uri.note : '' | html;
222 [%- IF num_uris == 1 -%]
223 <p class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
225 <li class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
227 <a href="[% filtered_href %]" class="uri_link" property="url" target="_blank" rel="noopener">
228 [%- IF filtered_href != filtered_link;
229 '<span property="description">' _ filtered_link _ '</span>';
235 [%- ' - <span property="description">' _ filtered_note _ '</span>' IF filtered_note %]
236 <link property="availability" href="http://schema.org/OnlineOnly" />
237 [%- IF attrs.gtin13; '<meta property="gtin13" content="' _ attrs.gtin13 _ '" />'; END; %]
238 [%- IF num_uris == 1 %]</p>[% ELSE %]</li>[% END %]
240 [%- IF num_uris > 1 %]</ul>[% END %]
243 IF ebook_api.enabled == 'true';
244 INCLUDE "opac/parts/ebook_api/avail.tt2";
248 <div id="copy_hold_counts">
251 IF ctx.copy_summary.0.count;
252 INCLUDE "opac/parts/record/copy_counts.tt2";
254 <span id="rdetail_hold_counts">
255 <h2>[% l('Current holds') %]</h2>
258 # If org hiding is enabled/relevant, only show
259 # counts for copies within the hiding scope.
261 FOR count_chunk IN ctx.copy_summary;
262 IF ctx.org_within_hiding_scope(count_chunk.org_unit);
263 # always true when hiding is disabled
266 count_entry = count_entry + 1;
268 l("[quant,_1,current hold,current holds] with [quant,_2,total copy,total copies].",
269 ctx.record_hold_count, ctx.copy_summary.$count_entry.count)
274 <div id="metarecord_population">
276 # l( 'mmr id = ' _ ctx.mmr_id );
277 # l( 'mmr data = ' _ ctx.mmr_data );
278 mmr_attrs = {marc_xml => ctx.mmr_data.marc_xml};
279 PROCESS get_marc_attrs args=mmr_attrs;
281 IF args.mmr_unique_bib.size > 1;
283 <h3>[% l("View other formats and editions") %]</h3>
284 <span class="metarecord_population_format">
285 [%- IF mmr_attrs.format_label;
286 FOR format IN mmr_attrs.all_formats;
288 link = mkurl(ctx.opac_root _ '/record/' _ format.source_bibs.0);
289 IF format.source_bibs.size > 1;
290 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord => ctx.mmr_id, 'fi:icon_format' => format.search_format, 'fi:from_metarecord' => ctx.mmr_id }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms, facet_search_parms, ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord']) );
292 <span class="metarecord_population_span_link">
293 <a href="[%- l( link ) %]">
294 [% format.label | html %]
295 ([%- l( format.source_bibs.size ) %])
300 [%- IF mmr_attrs.all_lang.size > 0 %]
301 <span class="metarecord_population_item_lang">
302 [% FOR lang IN mmr_attrs.all_lang;
303 link = mkurl(ctx.opac_root _ '/record/' _ lang.source_bibs.0);
304 IF lang.source_bibs.size > 1;
305 USE url(ctx.opac_root _ '/results');
306 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord => ctx.mmr_id, 'fi:item_lang' => lang.search_format, 'fi:from_metarecord' => ctx.mmr_id }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms, facet_search_parms, ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord']) );
308 <span class="metarecord_population_span_link">
309 <a href="[%- l( link ) %]">
310 [% lang.label | html %]
311 ([%- l( lang.source_bibs.size ) %])
314 </span> <!-- metarecord_population_item_lang -->
316 <div class="metarecord_population_all">
318 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord => ctx.mmr_id, 'fi:from_metarecord' => ctx.mmr_id }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms, facet_search_parms, ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord'] ) );
320 <span class="metarecord_population_span_link">
321 <a href="[%- l( link ) %]">[% l("View all formats and editions ") %] ([%- args.mmr_unique_bib.size %])
325 END # ending tag for IF args.mmr_unique_bib.size > 1; %]
326 </div> <!-- metarecord_population -->
328 IF ctx.copy_summary.0.count;
329 INCLUDE "opac/parts/record/copy_table.tt2" copies=ctx.copies;
334 <h2 id='rdetail_record_details'>[% l("Record details") %]</h2>
336 [%- IF attrs.hl.isbn.size; FOR isbn IN attrs.hl.isbn %]
337 <li class='rdetail_isbns'>
338 <strong class='rdetail_label'>[% l('ISBN:'); %]</strong>
339 <span class='rdetail_value' property='isbn'>[% isbn %]</span>
341 [%- END; ELSIF attrs.isbns.0;
342 FOR isbn IN attrs.isbns;
344 IF (matches = isbn.match('^(.+?)(\s.+)$'));
346 isbn_extra = matches.1;
349 <li class='rdetail_isbns'>
350 <strong class='rdetail_label'>[% l('ISBN:'); %]</strong>
351 <span class='rdetail_value' property='isbn'>[% isbn | html %]</span>[% isbn_extra | html %]
355 [%- IF attrs.hl.issn.size; FOR issn IN attrs.hl.issn %]
356 <li class='rdetail_issns'>
357 <strong class='rdetail_label'>[% l('ISSN:'); %]</strong> [% issn %]
359 [%- END; ELSIF attrs.issns.0; FOR issn IN attrs.issns %]
360 <li class='rdetail_issns'>
361 <strong class='rdetail_label'>[% l('ISSN:'); %]</strong>
362 <span class='rdetail_value'>[% issn | html %]</span>
366 [%- IF attrs.hl.physical_description.size %]
367 <li id='rdetail_phys_desc'>
368 <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
369 <span class='rdetail_value' highlighted='true'>
370 [% FOREACH desc IN attrs.hl.physical_description %]
371 <span>[% accordion(desc) %]</span><br/>
374 [%- ELSIF attrs.phys_desc %]
375 <li id='rdetail_phys_desc'>
376 <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
377 <span class='rdetail_value'>[% accordion(attrs.phys_desc) %]</span>
380 [%- IF attrs.hl.edition %]
381 <li id='rdetail_edition'>
382 <strong class='rdetail_label'>[% l("Edition:") %]</strong>
383 <span class='rdetail_value' highlighted='true'>[% accordion(attrs.hl.edition) %]</span>
384 [%- ELSIF attrs.edition %]
385 <li id='rdetail_edition'>
386 <strong class='rdetail_label'>[% l("Edition:") %]</strong>
387 <span class='rdetail_value'>[% accordion(attrs.edition) %]</span>
389 FOR entry IN attrs.graphic_editions;
390 FOR alt IN entry.graphic;
393 diratt = ' dir="' _ alt.dir _ '"';
396 <div class="graphic880 rdetail_value"[% diratt %]>
397 [% accordion(alt.value); %]
405 [%- IF attrs.hl.publisher %]
406 <li id='rdetail_publisher'>
407 <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
408 <span class='rdetail_value' highlighted='true'>[% accordion(attrs.hl.publisher) %]</span>
410 [%- ELSIF attrs.publisher %]
411 <li id='rdetail_publisher'>
412 <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
413 <span class='rdetail_value' property="publisher" typeof="Organization">
415 [%- IF attrs.pubplace; %]
416 <span property="location">[% attrs.pubplace | html %]</span>
418 <span property="name">[% attrs.publisher | html %]</span>
420 [%- IF attrs.pubdate; %]
421 <span property="datePublished">[% attrs.pubdate | html %]</span>
424 IF attrs.graphic_pubinfos.size > 0;
425 FOR entry IN attrs.graphic_pubinfos;
426 FOR alt IN entry.graphic;
429 diratt = ' dir="' _ alt.dir _ '"';
432 <div class="graphic880"[% diratt %]>
433 [% accordion(alt.value) %]
442 [%- IF attrs.producer %]
443 <li id='rdetail_producer'>
444 <strong class='rdetail_label'>[% l("Producer:") %]</strong>
445 <span class='rdetail_value'>
446 [%- IF attrs.prodplace; %]
447 <span>[% accordion(attrs.prodplace) %]</span>
449 <span>[% accordion(attrs.producer) %]</span>
450 [%- IF attrs.proddate; %]
451 <span>[% accordion(attrs.proddate) %]</span>
456 [%- IF attrs.distributor %]
457 <li id='rdetail_distributor'>
458 <strong class='rdetail_label'>[% l("Distributor:") %]</strong>
459 <span class='rdetail_value'>
460 [%- IF attrs.distplace; %]
461 <span>[% accordion(attrs.distplace) %]</span>
463 <span>[% accordion(attrs.distributor) %]</span>
464 [%- IF attrs.distdate; %]
465 <span>[% accordion(attrs.distdate) %]</span>
470 [%- IF attrs.manufacturer %]
471 <li id='rdetail_manufacturer'>
472 <strong class='rdetail_label'>[% l("Manufacturer:") %]</strong>
473 <span class='rdetail_value' property="manufacturer" typeof="Organization">
474 [%- IF attrs.manplace; %]
475 <span property="location">[% accordion(attrs.manplace) %]</span>
477 <span property="name">[% accordion(attrs.manufacturer) %]</span>
478 [%- IF attrs.mandate; %]
479 <span>[% accordion(attrs.mandate) %]</span>
484 [%- IF attrs.copyright %]
485 <li id='rdetail_copyright'>
486 <strong class='rdetail_label'>[% l("Copyright:") %]</strong>
487 <span class='rdetail_value'>[% accordion(attrs.copyright) %]
488 [%-# Provide the 4-digit year, cleansed of '@' and other junk %]
489 [%- IF attrs.copyrightYear -%]
490 <meta property='copyrightYear' content='[% attrs.copyrightYear | html; %]'>
495 [%- IF (ctx.badge_scores.size > 0 && ctx.hide_badge_scores != 'true') %]
496 <li id='rdetail_badges'>
497 <strong class='rdetail_label'>[% l("Badges:") %]</strong>
499 [% FOR bscore IN ctx.badge_scores; %]
500 <li><strong>[% bscore.badge.name | html %]</strong>: [% bscore.score %] / 5.0</li>
506 [%- INCLUDE "opac/parts/record/contents.tt2" %]
507 [%- INCLUDE "opac/parts/record/subjects.tt2" %]
508 [%- INCLUDE "opac/parts/record/series.tt2" %]
509 [%- INCLUDE "opac/parts/record/extras.tt2" %]