2 cnoffset = CGI.param('cnoffset');
3 cnoffset = cnoffset.match('^-?\d+$') ? cnoffset : 0; # verify cnoffset is a sane value
6 <div class='cn_browser'>
7 <div id='cn_browse_div'>
9 [% l("You are now browsing [_1]", ctx.browsing_ou.name) | html %]
14 <a class='np_nav_link classic_link btn btn-outline-primary' href="[% mkurl('', {cnoffset => cnoffset - 1}) %]#cnbrowse">[% l("<< Previous Page") %]</a>
17 <div class="col-6 text-center">
18 <h3>[% l("Shelf Browser") %]</h3>
21 <div class="col-3 text-right">
22 <a class='np_nav_link classic_link btn btn-outline-primary' href="[% mkurl('', {cnoffset => cnoffset + 1}) %]#cnbrowse">[% l("Next Page >>") %]</a>
28 <table class='data_grid bookshelf'>
32 FOR cn IN ctx.browsed_call_numbers;
33 IF loop.index % 3 == 0; tr_open = 1 %]
34 <tr class='cn_browse_row'>
36 <td class='cn_browse_item'>
38 [% rec_attrs = {marc_xml => cn.record.marc};
39 PROCESS get_marc_attrs args=rec_attrs; %]
40 <a href="[% mkurl(ctx.opac_root _ '/record/' _ cn.record.id, {$loc_name => loc_value}, 1) %]"><img height='60' width='50'
41 class='cn_browse_info'
42 [% img_alt(l('Go to record [_1]', rec_attrs.title)) %]
43 src="[% ctx.media_prefix %]/opac/extras/ac/jacket/small/r/[% cn.record.id | uri %]" /></a>
44 <div class='cn_browse_info bold'>[% cn.label | html %]</div>
45 <div class='cn_browse_info'>
46 <a class='classic_link record_title'
47 href="[% mkurl(ctx.opac_root _ '/record/' _ cn.record.id, {$loc_name => loc_value}, 1) %]">[% rec_attrs.title | html %]</a>
49 [% IF rec_attrs.author %]<div class='cn_browse_info'>
50 <a class='classic_link record_author'
52 authorquery = rec_attrs.author | replace('[,\.:;]', '');
53 mkurl(ctx.opac_root _ '/results', {qtype => 'author', query => authorquery, $loc_name => loc_value}, 1)
54 -%]">[% rec_attrs.author | html %]</a>
56 <div class='cn_browse_info'>[% cn.owning_lib.name | html %]</div>
59 [% IF loop.index % 3 == 2; tr_open = 0 %]
62 [% END; IF tr_open %]</tr>[% END %]