1 [%- # This is the bib and authority combined record browser.
3 PROCESS "opac/parts/header.tt2";
4 PROCESS "opac/parts/misc_util.tt2";
5 PROCESS "opac/parts/org_selector.tt2";
6 WRAPPER "opac/parts/base.tt2";
7 INCLUDE "opac/parts/topnav.tt2";
9 ctx.page_title = l("Browse the Catalog");
10 blimit = CGI.param('blimit') || 10;
11 boffset = CGI.param('boffset') || 0;
13 depart_list = ['blimit', 'bterm', 'boffset', 'bpivot', 'bback'];
16 <div id="search-wrapper">
17 [%# XXX TODO Give searchbar.tt2 more smarts so we can just do:
18 # INCLUDE "opac/parts/searchbar.tt2" %]
20 <span class="search_catalog_lbl"><a href="[% mkurl(ctx.opac_root _ '/home', {}, depart_list) %]">[% l('Search the Catalog') %]</a></span>
21 <span><a href="[% mkurl(ctx.opac_root _ '/advanced', {}, depart_list) %]"
22 id="home_adv_search_link">[%l('Advanced Search')%]</a></span>
23 <span>[% l('Browse the Catalog') %]</span>
26 <div id="content-wrapper">
27 <div id="main-content">
28 <div id="browse-the-catalog">
29 <div id="browse-controls">
31 <input type="hidden" name="blimit"
32 value="[% blimit %]" />
34 [% control_qtype = INCLUDE "opac/parts/qtype_selector.tt2"
35 id="browse-search-class" browse_only=1 %]
37 [% control_bterm = BLOCK %]<input type="text" name="bterm" id="browse-term"
38 value="[% CGI.param('bterm') | html %]" />[% END %]
39 [% control_locg = INCLUDE build_org_selector id='browse-context'
41 arialabel=l('Select holding library') %]
42 [% l('Browse by [_1] for [_2] held under [_3]', control_qtype, control_bterm, control_locg) %]
44 <input type="submit" value="[% l('Go') %]" />
48 [% BLOCK browse_pager %]
49 <div class="browse-pager">
50 [% IF ctx.more_back %]
51 <a class="opac-button" href="[% mkurl('', {bpivot => ctx.back_pivot, bback => 1}) %]">← [%l ('Back') %]</a>
53 [% IF browse.english_pager; # XXX how to apply i18n here?
54 current_qtype = CGI.param('qtype') || 'title' %]
55 <span class="browse-shortcuts">
56 <a href="[% mkurl('', {qtype => current_qtype, bterm => '0'}, ['boffset','bpivot','bback']) %]">0-9</a>
57 [% FOR letter IN ['A'..'Z'] %]
58 <a href="[% mkurl('', {qtype => current_qtype, bterm => letter}, ['boffset','bpivot','bback']) %]">[% letter %]</a>
63 [% IF ctx.more_forward %]
64 <a class="opac-button" href="[% mkurl('', {bpivot => ctx.forward_pivot}, ['bback']) %]">[%l ('Forward') %] →</a>
69 [% PROCESS browse_pager %]
71 <div id="browse-results">
72 [% IF ctx.browse_error %]
73 <span class="browse-error">
74 [% l("An error occurred browsing records. " _
75 "Please try again in a moment or report the issue " _
76 "to library staff.") %]
79 [% IF ctx.browse_leading_article_warning %]
80 <div class="browse-leading-article-warning">
81 [% l("Your browse term seems to begin with an article. You might get better results by omitting the article.") %]
84 <ul class="browse-result-list">
85 [% FOR result IN ctx.browse_results %]
86 <li class="browse-result">
87 <span class="browse-result-value">
89 ctx.opac_root _ '/results', {
90 'fi:has_browse_entry' => (result.browse_entry _ ',' _ result.fields)
91 }) %]">[% result.value | html %]</a>
93 <span class="browse-result-sources">([%
94 IF result.accurate == 'f';
97 result.sources %])</span>
98 [% IF result.authorities.size %]
99 <ul class="browse-result-authority-headings">
100 [% FOR a IN result.authorities;
101 PROCESS authority_notes authority=a;
103 # Other than displaying public general
104 # notes, we can go no further sans
106 NEXT UNLESS a.control_set;
108 # get_authority_fields is fast and cache-y.
109 acs = ctx.get_authority_fields(a.control_set);
110 FOR field_group IN a.headings;
111 field_id = field_group.keys.0;
112 field = acs.$field_id;
113 headings = field_group.values.0;
115 # We could display headings without
116 # links here when h.target is
117 # undef, if we wanted to, but note
118 # that h.target_count is only
119 # defined when h.target is.
122 <li><span class="browse-result-authority-field-name">[% field.name %]</span>
123 <a href="[% mkurl(ctx.opac_root _ '/results', {query => 'identifier|authority_id[' _ h.target _ ']'}) %]">[% h.heading | html %]</a>
124 <span class="browse-result-authority-bib-links">([% h.target_count %])</span>
138 [% PROCESS browse_pager %]
141 <div class="common-full-pad"></div>
145 [% BLOCK authority_notes;
146 # Displays public general notes (sometimes called "scope notes" ?)
147 FOR note IN authority.notes %]
148 <div class="browse-public-general-note">
149 <span class="browse-public-general-note-label">
152 <span class="browse-public-general-note-body">
153 [% FOR piece IN note;
155 mkurl_args = {bterm => piece.bterm};
157 mkurl_args.locg = piece.org_id;
160 <a href="[% mkurl('', mkurl_args, ['boffset','bpivot','bback']) %]">[% piece.heading | html %]</a>
161 [% ELSIF piece.institution %]
162 <span class="browse-public-general-note-institution">
163 [% piece.institution | html %]
172 END; # end of BLOCK authority_notes %]