1 [%- PROCESS "opac/parts/header.tt2";
2 WRAPPER "opac/parts/base.tt2";
3 INCLUDE "opac/parts/topnav.tt2";
4 ctx.page_title = l("Course Search Results");
5 page = CGI.param('page');
6 page = page.match('^\d+$') ? page : 0; # verify page is a sane value
8 page_count = (!ctx.page_size.defined || !ctx.hit_count.defined || ctx.page_size == 0) ? 1 : POSIX.ceil(ctx.hit_count / ctx.page_size);
10 # We don't want search engines indexing search results
11 ctx.metalinks.push('<meta name="robots" content="noindex,follow">');
13 PROCESS "opac/parts/misc_util.tt2";
15 ctx.result_start = 1 + ctx.page_size * page;
16 ctx.result_stop = ctx.page_size * (page + 1);
17 IF ctx.result_stop > ctx.hit_count; ctx.result_stop = ctx.hit_count; END;
19 result_count = ctx.result_start;
21 <h2 class="sr-only">[% l('Course Search Results') %]</h2>
22 [% INCLUDE "opac/parts/searchbar.tt2" %]
23 <div class="almost-content-wrapper">
24 <div id="results_header_bar">
25 <div id="results_header_inner">
26 <div class="results_header_btns">
27 <a href="[% mkurl(ctx.opac_root _ '/course_search', {$loc_name => loc_value}, 1) %]">[% l('Another Search') %]</a>
32 <div id="content-wrapper">
33 <div id="main-content">
34 <div id="results-page">
35 [% PROCESS "opac/parts/result/paginate.tt2" %]
36 [% ctx.results_count_header = PROCESS results_count_header;
37 ctx.results_count_header %]
38 <div id="result_table_div">
39 <div id="result_block" class="result_block_visible">
41 <table id="result_table_table" title="[% l('Search Results') %]"
42 class="table_no_border_space table_no_cell_pad">
43 <thead class="sr-only">
45 <th>[% l('Search result number') %]</th>
46 <th>[% l('Course details') %]</th>
49 <tbody id="result_table">
50 [% FOR course IN ctx.courses %]
51 [% course_url_path = ctx.opac_root _ '/course/' _ course.id; %]
52 [% # Do not pass "advanced params" to result detail code.
53 # Instead, pass the scrubed query in one-line form
54 del_parms = del_parms.merge(['query', 'bool',
55 'qtype', 'contains', '_adv']);
57 {query => ctx.naive_query_scrub(ctx.user_query)} );
59 <tr class="result_table_row">
60 <td class="results_row_count" name="results_row_count">
61 [% result_count; result_count = result_count + 1 %].
63 <td class="result_table_pic_header"></td>
64 <td class="result_table_title_cell" name="result_table_title_cell">
65 <div class="result_metadata">
66 <a class="record_title search_link" name="course_[% course.id %]"
67 href="[% mkurl(course_url_path) %]"
68 [% html_text_attr('title', l('Display course details for "[_1]"', course.name)) %]>
69 [% course.course_number %]: [% l(course.name) %]
72 [% FOR instructor IN course.instructors %]
73 [% instructorString = '';
74 IF instructor.pref_family_name;
75 instructorString = instructorString _ instructor.pref_family_name _ ', ';
77 instructorString = instructorString _ instructor.family_name _ ', ';
79 IF instructor.pref_first_given_name;
80 instructorString = instructorString _ instructor.pref_first_given_name;
82 instructorString = instructorString _ instructor.first_given_name;
84 <a title="[% l('Perform an Instructor Search') %]"
87 mkurl(ctx.opac_root _ '/results', {qtype => 'instructor', query => instructorString})
88 %]" rel="nofollow" vocab="">
89 [% instructorString %] ([% l(instructor.usr_role) %])</a>.
93 <span><strong>[% l('Course Number') %]</strong>: [% course.course_number %]</span>
96 <span><strong>[% l('Section Number') %]</strong>: [% course.section_number %]</span>
101 [% ctx.get_aou(course.owning_lib).name %]
110 <div class="common-full-pad"></div>
112 <br class="clear-both" />