]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/templates/default/opac/parts/marc_misc.tt2
Show format icons in results and record detail pages
[working/Evergreen.git] / Open-ILS / web / templates / default / opac / parts / marc_misc.tt2
1 [% 
2     # Extract MARC fields from XML
3     #   get_marc_attrs( { marc_xml => doc } )
4     BLOCK get_marc_attrs;
5         xml = args.marc_xml;
6         args.isbn = xml.findnodes('//*[@tag="020"]/*[@code="a"]').shift.textContent;
7         args.upc = xml.findnodes('//*[@tag="024"]/*[@code="a"]').textContent;
8         args.issn = xml.findnodes('//*[@tag="022"]/*[@code="a"]').textContent;
9         args.title = xml.findnodes('//*[@tag="245"]/*[@code="a"]').textContent;
10         args.author = xml.findnodes('//*[@tag="100"]/*[@code="a"]').textContent;
11         args.publisher = xml.findnodes('//*[@tag="260"]/*[@code="b"]').textContent;
12         args.pubdate = xml.findnodes('//*[@tag="260"]/*[@code="c"]').textContent;
13         args.edition = xml.findnodes('//*[@tag="250"]/*[@code="a"]').textContent ||
14             xml.findnodes('//*[@tag="534"]/*[@code="b"]').textContent ||
15             xml.findnodes('//*[@tag="775"]/*[@code="b"]').textContent;
16         phys = xml.findnodes(
17             '//*[@tag="300"]/*[@code="a" or @code="b" or @code="c" or @code="e"]'
18         );
19         phys_content = [];
20         FOR p IN phys; phys_content.push(p.textContent); END;
21         args.phys_desc = phys_content.join("");
22
23         # clean up the ISBN
24         args.isbn_clean = args.isbn.replace('\ .*', '');
25
26         # KCLS-specific stuff; needs to change
27         args.mattype = xml.findnodes('//*[@tag="998"]/*[@code="d"]').textContent;
28         args.kcls_cn = xml.findnodes('//*[@tag="092" or @tag="099"]/*').textContent;
29         mattype = args.mattype;
30         args.format = ctx.find_citm(mattype).value;
31         args.format_icon = icon_by_format.$mattype;
32     END;
33 %]