[% PROCESS "opac/parts/misc_util.tt2"; USE ResolverResolver; ctx.result_start = 1 + ctx.page_size * page; ctx.result_stop = ctx.page_size * (page + 1); IF ctx.result_stop > ctx.hit_count; ctx.result_stop = ctx.hit_count; END; result_count = ctx.result_start; %]
[% PROCESS "opac/parts/result/paginate.tt2" %] [% ctx.results_count_header = PROCESS results_count_header; ctx.results_count_header %]
[% INCLUDE 'opac/parts/result/facets.tt2' %]
[% IF !ctx.is_meta %] [% END %] [% FOR rec IN ctx.records; attrs = {}; attrs.marc_xml = rec.marc_xml; attrs.mr_constituent_ids = []; FOREACH mr_constituent_id IN rec.mr_constituent_ids; attrs.mr_constituent_ids.push(mr_constituent_id); END; PROCESS get_marc_attrs args=attrs; IF show_detail_view; attrs.title = attrs.title_extended; END; # note: rec.id refers to the record identifier, regardless # of the type of record. i.e. rec.id = mmr_id ? mmr_id : bre_id IF rec.mmr_id; IF rec.mr_constituent_count > 1; # metarecords link to record list page record_url_path = ctx.opac_root _ '/results'; add_parms = {metarecord => rec.mmr_id}; del_parms = ['page']; ELSE; # for MR, bre_id refers to the master and in # this case, only, record record_url_path = ctx.opac_root _ '/record/' _ attrs.mr_constituent_ids.0; add_parms = { badges => rec.badges.join(',') }; del_parms = ['quux']; END; hold_type = 'M'; ELSE; record_url_path = ctx.opac_root _ '/record/' _ rec.bre_id; add_parms = { badges => rec.badges.join(',') }; del_parms = ['quux']; hold_type = 'T'; END; -%]
[% IF !ctx.is_meta; %] [% END %]
[% attrs.title | html;%]
[%- search_ou = ctx.search_ou; num_holdable_copies = attrs.marc_xml.findnodes('//*[local-name()="holdings" and @has_holdable="true"]').size || 0; IF ctx.place_unfillable || (num_holdable_copies > 0 && (ctx.holds_block.enabled != 'true' || attrs.org_copy_counts.$search_ou.available == 0)) %] [% del_parms = ['tag','subfield','term','_special','sort','page']; add_parms = {hold_target => rec.id, hold_type => hold_type, hold_source_page => mkurl()}; IF is_advanced; # Do not pass "advanced params" to hold code # Instead, pass the scrubed query in one-line form del_parms = del_parms.merge(['query', 'bool', 'qtype', 'contains', '_adv']); add_parms.import({query => ctx.naive_query_scrub(ctx.user_query)}); END; %] [% l('Place Hold') %] [%- END -%] [%- IF ebook_api.enabled == 'true' && args.ebook %] [% l('Check Out E-Item') %] [% l('Place Hold on E-Item') %] [%- END -%] [% IF !ctx.is_meta %] [% IF !ctx.is_staff %] [% addhref = mkurl(ctx.opac_root _ '/mylist/add', {record => rec.id, anchor => 'record_' _ rec.id}, 1); delhref = mkurl(ctx.opac_root _ '/mylist/delete', {record => rec.id, anchor => 'record_' _ rec.id}, 1); %] [% l("Add to basket") %] [% l("Remove from basket") %] [% IF ctx.user; INCLUDE "opac/parts/bookbag_actions.tt2"; END; %] [% END %] [% END %] [% IF ENV.OILS_CONTENT_CAFE_USER %] [% ident = attrs.isbn_clean || attrs.upc %] [% l('Reviews & More') %] [% END %]
[%- IF ENV.OILS_CHILIFRESH_ACCOUNT %] [%- END %] [% END %]
[%- IF ctx.is_staff %]

[% l('Saved Searches') %]

[% INCLUDE "opac/parts/staff_saved_searches.tt2" %] [%- END %]

[% l('Search Results facets') %]

[% l('Search Results List') %]

[% INCLUDE 'opac/parts/result/facets.tt2' %]