]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/opac/parts/record/summary.tt2
LP1812241: add YAOUS for default URI note text
[working/Evergreen.git] / Open-ILS / src / templates / opac / parts / record / summary.tt2
1 [%  PROCESS "opac/parts/misc_util.tt2";
2     USE ResolverResolver;
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 _ '" />');
5 %]
6 <!-- ****************** rdetail_summary.xml ***************************** -->
7 <abbr class="unapi-id" title='tag:[% ctx.hostname %],[% date.format(date.now, '%Y') %]:biblio-record_entry/[% ctx.bre_id %]'></abbr>
8
9 <hr />
10
11 [%-# This holds the record summary information %]
12 <div id="rdetail_summary_header">
13     <div id='rdetail_title_div'>
14         <h1 id='rdetail_title' property="name">[% IF attrs.hl.title; attrs.hl.title; ELSE; attrs.title_extended | html; END %]</h1>
15         [%-
16             FOR link880 IN attrs.graphic_titles;
17                 FOR alt IN link880.graphic;
18                     '<h2 class="graphic880"';
19                     IF alt.dir;
20                         ' dir="' _ alt.dir _ '"';
21                     END;
22                     '>'; alt.value | html; '</h2>';
23                 END;
24             END;
25         -%]
26         [%- INCLUDE "opac/parts/record/authors.tt2" %]
27     </div>
28     <div id="rdetail_image_div">
29         [%- IF obalkyknih_cz.enabled == 'true' %]
30         [%- 
31             isbnissn = '';
32             IF attrs.isbns.0;
33                     isbnissn = attrs.isbns.0;
34                     IF (matches = isbnissn.match('^(.+?)(\s.+)$'));
35                         isbnissn = matches.0;
36                     END;
37                 END;
38             IF attrs.issns.0;
39                 isbnissn=attrs.issns.0;
40             END;
41         %]
42         <a href='http://obalkyknih.cz/view?isbn=[% isbnissn %]'>
43             <img
44               alt="[% l('Image of item') %]" id='rdetail_image'
45               src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
46         </a>
47         [%  ELSE %]
48             <a href='[% ctx.media_prefix %]/opac/extras/ac/jacket/large/r/[% ctx.bre_id | uri %]'><img
49                     alt="[% l('Image of item') %]" id='rdetail_image'
50                     src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
51             </a>
52         [%- END %]
53         <br />
54     </div>
55     <div id="format_actions">
56
57
58         [%- IF attrs.format_label %]
59           [% FOR format IN attrs.all_formats %]
60               <img title="[% format.label | html %]" 
61                   alt="[% format.label | html %]" 
62                   src="[% format.icon %]" /> 
63               [% format.label | html %]
64           [% END %]
65         [%- END %]
66
67         <div id="rdetail_actions_div">
68             [%- search_ou = ctx.search_ou;
69                 IF ctx.place_unfillable ||
70                     ( attrs.marc_xml.findnodes('//*[local-name()="holdings" and @has_holdable="true"]').size
71                         && (ctx.holds_block.enabled != 'true' || !attrs.org_copy_counts.$search_ou.available)
72                     )
73              %]
74             <div class="rdetail_aux_utils place_hold">
75                 <a href="[% mkurl(ctx.opac_root _ '/place_hold', 
76                     {hold_target => ctx.bre_id, hold_type => 'T', hold_source_page => mkurl()}, stop_parms) %]" 
77                 class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/green_check.png[% ctx.cache_key %]"
78                     [% img_alt(l('Place Hold on [_1]', attrs.title)) %]/>
79                 <span class="place_hold">[% l('Place Hold') %]</span></a>
80             </div>
81             [%- END -%]
82
83             [%- IF ebook_api.enabled == 'true' && args.ebook %]
84             <div id="[%- ctx.bre_id -%]_ebook_checkout" class="rdetail_aux_utils ebook_action hidden">
85                 <a href="[% mkurl(ctx.opac_root _ '/myopac/ebook_checkout',
86                     {title => args.ebook.ebook_id, vendor => args.ebook.vendor, action => 'checkout'}, stop_parms) %]"
87                 class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/green_check.png[% ctx.cache_key %]"
88                     [% img_alt(l('Check Out [_1]', attrs.title)) %]/>
89                 <span class="place_hold">[% l('Check Out E-Item') %]</span></a>
90             </div>
91             <div id="[%- ctx.bre_id -%]_ebook_place_hold" class="rdetail_aux_utils ebook_action hidden">
92                 <a href="[% mkurl(ctx.opac_root _ '/myopac/ebook_place_hold',
93                     {title => args.ebook.ebook_id, vendor => args.ebook.vendor, action => 'place_hold'}, stop_parms) %]"
94                 class="no-dec" rel="nofollow" vocab=""><img src="[% ctx.media_prefix %]/images/green_check.png[% ctx.cache_key %]"
95                     [% img_alt(l('Place Hold on [_1]', attrs.title)) %]/>
96                 <span class="place_hold">[% l('Place Hold on E-Item') %]</span></a>
97             </div>
98             [%- END -%]
99
100             <div class="rdetail_aux_utils toggle_list">
101             [% operation = ctx.mylist.grep('^' _ ctx.bre_id _ '$').size ? "delete" : "add";
102                 addhref = mkurl(ctx.opac_root _ '/mylist/add',    {record => ctx.bre_id}, stop_parms);
103                 delhref = mkurl(ctx.opac_root _ '/mylist/delete', {record => ctx.bre_id}, stop_parms);
104                 label = (operation == "add") ? l("Add to Basket") : l("Remove from Basket");
105             %]
106                 <a href="[% addhref %]" id="mylist_add_[% ctx.bre_id %]"
107                     rel="nofollow" vocab=""
108                     data-recid="[% ctx.bre_id %]" data-action="add"
109                     class="no-dec mylist_action [% IF ctx.mylist.grep('^' _ ctx.bre_id _ '$').size %]hidden[% END %]"
110                     title="[% l("Add [_1] to basket", attrs.title) %]" rel="nofollow" vocab="">
111                     <img src="[% ctx.media_prefix %]/images/add-to-cart.png[% ctx.cache_key %]" alt="" />
112                     [% l("Add to basket") %]
113                 </a>
114                 <a href="[% delhref %]" id="mylist_delete_[% ctx.bre_id %]"
115                      rel="nofollow" vocab=""
116                     data-recid="[% ctx.bre_id %]" data-action="delete"
117                     class="mylist_action [% IF !ctx.mylist.grep('^' _ ctx.bre_id _ '$').size %]hidden[% END %]"
118                     title="[% l("Remove [_1] from basket", attrs.title) %]" rel="nofollow" vocab="">
119                     <img src="[% ctx.media_prefix %]/images/add-to-cart.png[% ctx.cache_key %]" alt="" />
120                     [% l("Remove from basket") %]
121                 </a>
122             </div>
123             <div class="rdetail_aux_utils toggle_list">
124                      [% IF ctx.mylist.size %]
125                         [%- IF ctx.user; %]
126                         <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>
127                         [%- ELSE %]
128                         <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>
129                         [%- END %]
130                     [% END %]
131                 </div>
132             <div class="rdetail_aux_utils toggle_list">
133         [% IF !ctx.is_staff %]
134             [%  IF ctx.user;
135                 INCLUDE "opac/parts/bookbag_actions.tt2";
136                 END;
137             %]
138         [% END %]
139             </div>
140                 <div class="rdetail_aux_utils">
141                     <img src="[% ctx.media_prefix %]/images/clipboard.png[% ctx.cache_key %]" alt="[% l('Print / Email Actions Image') %]" />
142                     <a href="[% mkurl(ctx.opac_root _ '/record/print/' _ ctx.bre_id) %]" class="no-dec" rel="nofollow" vocab="">[% l('Print') %]</a> /
143                     <a href="[% mkurl(ctx.opac_root _ '/record/email/' _ ctx.bre_id) %]" class="no-dec" rel="nofollow" vocab="">[% l('Email') %]</a>
144                 </div>
145                 [%- IF ctx.refworks.enabled == 'true' %]
146                     [%- INCLUDE 'opac/parts/record/refworks.tt2' %]
147                 [%- END %]
148             [% IF !ctx.is_staff %]
149                 <div class="rdetail_aux_utils share_record">
150                     <a href="[% mkurl('', {locg =>CGI.param('locg'), copy_depth =>CGI.param('copy_depth')}, 1) %]" class="no-dec">
151                          <img src="[% ctx.media_prefix %]/images/link.png[% ctx.cache_key %]" alt="[% l('Permalink') %]" />
152                          [% l('Permalink') %]
153                     </a>
154                 </div>
155             [% END %]
156             [% IF !search.no_highlight %]
157             <div class="rdetail_aux_utils highlighting">
158               [% IF CGI.param('no_highlight') %]
159                 <a href="[% mkurl('', {}, ['no_highlight']) %]" class="no-dec">
160               [% ELSE %]
161                 <a href="[% mkurl('', {no_highlight => '1'}) %]" class="no-dec">
162               [% END %]
163                      <img src="[% ctx.media_prefix %]/images/highlight.png[% ctx.cache_key %]" alt="[% l('Toggle highlighting') %]" />
164                      [% CGI.param('no_highlight') ?  l('Enable Highlighting') : l('Disable Highlighting') %]
165                 </a>
166             </div>
167             [% END %]
168             [%- IF ctx.is_staff %]
169             <div class="rdetail_aux_utils clear_addedcontent_cache">
170                 <a href="[% ctx.media_prefix %]/opac/extras/ac/clearcache/all/r/[% ctx.bre_id | uri %]" class="no-dec" target="_blank">
171                      [% l('Clear AddedContent Cache') %]
172                 </a>
173             </div>
174             [%- END %]
175         </div>
176     </div>
177 </div>
178
179 [%- IF openurl.enabled == 'true';
180     openurls = [];
181     FOREACH issn IN args.issns;
182         NEXT IF issn == '';
183         openurls = openurls.import(ResolverResolver.resolve_issn(issn, openurl.baseurl));
184     END;
185     IF openurls.size && openurls.0 != '';
186 %]
187     <div id='rdetail_openurl'>
188         <strong class='rdetail_openurl_title'>[% l("Electronic resources") %]</strong>
189         <table><tbody>
190 [%-
191         FOREACH res IN openurls;
192 %]
193         <tr>
194             <td class='rdetail_openurl_entry'><a href="[% res.target_url %]" target="_blank">[% res.public_name | html %]</a></td>
195             <td>[% res.target_coverage | html %]
196             [%- IF res.target_embargo != '';
197                     ' - ';
198                     res.target_embargo | html;
199                 END;
200             -%]
201             </td>
202         </tr>
203     [%- END %]
204     </tbody></table>
205     </div>    
206 [%- END %]
207 [%- END %]
208 [%- merged_uris = args.uris.merge(args.online_res);
209 num_uris = merged_uris.size;
210 IF num_uris > 0;
211 -%]
212 <h2 class="rdetail_uris">[% l("Electronic resources") %]</h2>
213 <div class="rdetail_uris">
214     [%- IF num_uris > 1 %]<ul>[% END %]
215     [%- FOR uri IN merged_uris %]
216         [%- IF num_uris == 1 -%]
217             <p class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
218         [%- ELSE -%]
219             <li class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
220         [%- END -%]
221         <a href="[% uri.href %]" class="uri_link" property="url" target="_blank">
222         [%- IF uri.href != uri.link;
223                 '<span property="description">' _ uri.link _ '</span>';
224             ELSE;
225                 uri.link;
226             END;
227         -%]
228         </a>
229         [%- IF uri.note -%]
230         [%- '- <span property="description">' _ uri.note _ '</span>' %]
231         [%- ELSE -%]
232                 [% IF ctx.get_org_setting(ctx.search_ou, 'opac.uri_default_note_text') %]
233                         [% link_note = ctx.get_org_setting(ctx.search_ou, 'opac.uri_default_note_text') %]
234                 [% '<span property="description">'; link_note | html; '</span>' %]                                          
235                 [% END %]
236         [%- END -%]
237
238
239
240         <link property="availability" href="http://schema.org/OnlineOnly" />
241         [%- IF attrs.gtin13; '<meta property="gtin13" content="' _ attrs.gtin13 _ '" />'; END; %]
242         [%- IF num_uris == 1 %]</p>[% ELSE %]</li>[% END %]
243     [%- END %]
244     [%- IF num_uris > 1 %]</ul>[% END %]
245 </div>
246 [%
247 IF ebook_api.enabled == 'true';
248     INCLUDE "opac/parts/ebook_api/avail.tt2";
249 END;
250 %]
251 [%- END %]
252 <div id="copy_hold_counts">
253 [%-
254 # Hold/copy summary
255 IF ctx.copy_summary.0.count;
256 INCLUDE "opac/parts/record/copy_counts.tt2";
257 %]
258     <span id="rdetail_hold_counts">
259         <h2>[% l('Current holds') %]</h2>
260         <p>
261             [% 
262                 # If org hiding is enabled/relevant, only show 
263                 # counts for copies within the hiding scope.
264                 count_entry = 0;
265                 FOR count_chunk IN ctx.copy_summary;
266                     IF ctx.org_within_hiding_scope(count_chunk.org_unit);
267                         # always true when hiding is disabled
268                         LAST;
269                     END;
270                     count_entry = count_entry + 1;
271                 END;
272                 l("[quant,_1,current hold,current holds] with [quant,_2,total copy,total copies].", 
273                     ctx.record_hold_count, ctx.copy_summary.$count_entry.count) 
274             %]
275         </p>
276     </span>
277 [%- END %]
278 <div id="metarecord_population">
279 [%-
280 # l( 'mmr id = ' _ ctx.mmr_id );
281 # l( 'mmr data = ' _ ctx.mmr_data );
282 mmr_attrs = {marc_xml => ctx.mmr_data.marc_xml};
283 PROCESS get_marc_attrs args=mmr_attrs;
284
285 IF args.mmr_unique_bib.size > 1;
286 %]
287 <h3>[% l("View other formats and editions") %]</h3>
288 <span class="metarecord_population_format">
289 [%- IF mmr_attrs.format_label;
290     FOR format IN mmr_attrs.all_formats;
291
292         link = mkurl(ctx.opac_root _ '/record/' _ format.source_bibs.0);
293         IF format.source_bibs.size > 1;
294             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']) );
295         END; -%]
296         <span class="metarecord_population_span_link">
297             <a href="[%- l( link ) %]">
298         [% format.label | html %]
299         ([%- l( format.source_bibs.size ) %])
300         </a></span><br />
301
302     [%- END %]
303     </span>
304     [%- IF mmr_attrs.all_lang.size > 0 %]
305     <span class="metarecord_population_item_lang">
306     [% FOR lang IN mmr_attrs.all_lang;
307         link = mkurl(ctx.opac_root _ '/record/' _ lang.source_bibs.0);
308         IF lang.source_bibs.size > 1;
309             USE url(ctx.opac_root _ '/results');
310             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']) );
311         END; -%]
312         <span class="metarecord_population_span_link">
313             <a href="[%- l( link ) %]">
314         [% lang.label | html %]
315         ([%- l( lang.source_bibs.size ) %])
316         </a></span><br />
317     [%- END %]
318     </span> <!-- metarecord_population_item_lang -->
319 [%- END %]
320 <div class="metarecord_population_all">
321     [%
322     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'] ) );
323     %]
324     <span class="metarecord_population_span_link">
325         <a href="[%- l( link ) %]">[% l("View all formats and editions ") %] ([%- args.mmr_unique_bib.size %]) 
326         </a></span><br />
327 </div>
328 [%- END;
329 END # ending tag for IF args.mmr_unique_bib.size > 1; %]
330 </div> <!-- metarecord_population -->
331 [%-
332 IF ctx.copy_summary.0.count;
333 INCLUDE "opac/parts/record/copy_table.tt2" copies=ctx.copies;
334 END;
335  %]
336 </div>
337
338 <h2 id='rdetail_record_details'>[% l("Record details") %]</h2>
339 <ul>
340     [%- IF attrs.hl.isbn.size; FOR isbn IN attrs.hl.isbn %]
341     <li class='rdetail_isbns'>
342         <strong class='rdetail_label'>[% l('ISBN:'); %]</strong> [% isbn %]
343     </li>
344     [%- END; ELSIF attrs.isbns.0;
345           FOR isbn IN attrs.isbns;
346             isbn_extra = '';
347             IF (matches = isbn.match('^(.+?)(\s.+)$'));
348               isbn = matches.0;
349               isbn_extra = matches.1;
350             END;
351     %]
352     <li class='rdetail_isbns'>
353         <strong class='rdetail_label'>[% l('ISBN:'); %]</strong>
354         <span class='rdetail_value' property='isbn'>[% isbn | html  %]</span>[% isbn_extra | html %]
355     </li>
356         [%- END %]
357     [%- END %]
358     [%- IF attrs.hl.issn.size; FOR issn IN attrs.hl.issn %]
359     <li class='rdetail_issns'>
360         <strong class='rdetail_label'>[% l('ISSN:'); %]</strong> [% issn %]
361     </li>
362     [%- END; ELSIF attrs.issns.0; FOR issn IN attrs.issns %]
363     <li class='rdetail_issns'>
364         <strong class='rdetail_label'>[% l('ISSN:'); %]</strong>
365         <span class='rdetail_value'>[% issn | html  %]</span>
366     </li>
367         [%- END %]
368     [%- END %]
369     [%- IF attrs.hl.physical_description.size %]
370     <li id='rdetail_phys_desc'>
371         <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
372         <span class='rdetail_value' highlighted='true'>[% attrs.hl.physical_description.join('<br/>') %]</span>
373     </li>
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'>[% attrs.phys_desc | html %]</span>
378     </li>
379     [%- END %]
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'>[% 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'>[% attrs.edition | html %]</span>
388         [%-
389         FOR entry IN attrs.graphic_editions;
390             FOR alt IN entry.graphic;
391                 diratt = "";
392                 IF alt.dir;
393                     diratt = ' dir="' _ alt.dir _ '"';
394                 END;
395         -%]
396         <div class="graphic880 rdetail_value"[% diratt %]>
397             [% alt.value | html %]
398         </div>
399         [%-
400             END;
401         END;
402         -%]
403     </li>
404     [%- END %]
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'>[% attrs.hl.publisher %]</span>
409     </li>
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">
414         [%- IF attrs.pubplace; %]
415             <span property="location">[% attrs.pubplace | html; %]</span>
416         [%- END; %]
417             <span property="name">[% attrs.publisher | html; %]</span>
418         </span>
419         [%- IF attrs.pubdate; %]
420             <span property="datePublished">[% attrs.pubdate | html; %]</span>
421         [%- END; %]
422         [%-
423         IF attrs.graphic_pubinfos.size > 0;
424             FOR entry IN attrs.graphic_pubinfos;
425                 FOR alt IN entry.graphic;
426                     diratt = "";
427                     IF alt.dir;
428                         diratt = ' dir="' _ alt.dir _ '"';
429                     END;
430         -%]
431         <div class="graphic880"[% diratt %]>
432             [% alt.value | html %]
433         </div>
434         [%-
435                 END;
436             END;
437         END
438         -%]
439     </li>
440     [%- END %]
441     [%- IF attrs.producer %]
442         <li id='rdetail_producer'>
443             <strong class='rdetail_label'>[% l("Producer:") %]</strong>
444             <span class='rdetail_value'>
445             [%- IF attrs.prodplace; %]
446                 <span>[% attrs.prodplace | html; %]</span>
447             [%- END; %]
448                 <span>[% attrs.producer | html; %]</span>
449             [%- IF attrs.proddate; %]
450                 <span>[% attrs.proddate | html; %]</span>
451             [%- END; %]
452             </span>
453         </li>
454     [%- END %]
455     [%- IF attrs.distributor %]
456         <li id='rdetail_distributor'>
457             <strong class='rdetail_label'>[% l("Distributor:") %]</strong>
458             <span class='rdetail_value'>
459             [%- IF attrs.distplace; %]
460                 <span>[% attrs.distplace | html; %]</span>
461             [%- END; %]
462                 <span>[% attrs.distributor | html; %]</span>
463             [%- IF attrs.distdate; %]
464                 <span>[% attrs.distdate | html; %]</span>
465             [%- END; %]
466             </span>
467         </li>
468     [%- END %]
469     [%- IF attrs.manufacturer %]
470         <li id='rdetail_manufacturer'>
471             <strong class='rdetail_label'>[% l("Manufacturer:") %]</strong>
472             <span class='rdetail_value' property="manufacturer" typeof="Organization">
473             [%- IF attrs.manplace; %]
474                 <span property="location">[% attrs.manplace | html; %]</span>
475             [%- END; %]
476                 <span property="name">[% attrs.manufacturer | html; %]</span>
477             [%- IF attrs.mandate; %]
478                 <span>[% attrs.mandate | html; %]</span>
479             [%- END; %]
480             </span>
481         </li>
482     [%- END %]
483     [%- IF attrs.copyright %]
484     <li id='rdetail_copyright'>
485         <strong class='rdetail_label'>[% l("Copyright:") %]</strong>
486         <span class='rdetail_value'>[% attrs.copyright | html_entity; %]
487         [%-# Provide the 4-digit year, cleansed of '@' and other junk %]
488         [%- IF attrs.copyrightYear -%]
489             <meta property='copyrightYear' content='[% attrs.copyrightYear | html; %]'>
490         [%- END -%]
491         </span>
492     </li>
493     [%- END %]
494     [%- IF (ctx.badge_scores.size > 0 && ctx.hide_badge_scores != 'true') %]
495     <li id='rdetail_badges'>
496         <strong class='rdetail_label'>[% l("Badges:") %]</strong>
497         <ul>
498           [% FOR bscore IN ctx.badge_scores; %]
499             <li><strong>[% bscore.badge.name | html %]</strong>: [% bscore.score %] / 5.0</li>
500         [%- END -%]
501         </ul>
502     </li>
503     [%- END %]
504 </ul>
505 [%- INCLUDE "opac/parts/record/contents.tt2" %]
506 [%- INCLUDE "opac/parts/record/subjects.tt2" %]
507 [%- INCLUDE "opac/parts/record/series.tt2" %]
508 [%- INCLUDE "opac/parts/record/extras.tt2" %]