2 cnoffset = CGI.param('cnoffset');
3 cnoffset = cnoffset.match('^-?\d+$') ? cnoffset : 0; # verify cnoffset is a sane value
6 <div id='cn_browse' class='cn_browser'>
7 <div id='cn_browse_div'>
9 [% l("You are now browsing [_1]", ctx.browsing_ou.name) | html %]
11 <table class='data_grid bookshelf' width='100%'>
15 <a class='classic_link'
16 href="[% mkurl('', {cnoffset => cnoffset - 1}) %]#cnbrowse"><b>[% l("<< Previous Page") %]</b></a>
18 <td colspan='1' align='center'>[% l("Shelf Browser") %]</td>
20 <a class='classic_link'
21 href="[% mkurl('', {cnoffset => cnoffset + 1}) %]#cnbrowse"><b>[% l("Next Page >>") %]</b></a>
28 FOR cn IN ctx.browsed_call_numbers;
29 IF loop.index % 3 == 0; tr_open = 1 %]
30 <tr class='cn_browse_row'>
32 <td class='cn_browse_item' width='25%' valign='top'>
33 [% rec_attrs = {marc_xml => cn.record.marc};
34 PROCESS get_marc_attrs args=rec_attrs;
35 ident = rec_attrs.isbn_clean || rec_attrs.upc;
37 <a href="[% mkurl(ctx.opac_root _ '/record/' _ cn.record.id, {$loc_name => loc_value}, 1) %]"><img height='60' width='50'
38 class='cn_browse_info' name='cn_browse_pic' border='0'
39 src="[% ctx.media_prefix %]/opac/extras/ac/jacket/small/[% ident | uri %]" /></a>
41 <div class='cn_browse_info bold' name='cn_browse_cn'>[% cn.label | html %]</div>
42 <div class='cn_browse_info'>
43 <a name='cn_browse_title' class='classic_link record_title'
44 href="[% mkurl(ctx.opac_root _ '/record/' _ cn.record.id, {$loc_name => loc_value}, 1) %]">[% rec_attrs.title | html %]</a>
46 [% IF rec_attrs.author %]<div class='cn_browse_info'>
47 <a name='cn_browse_author' class='classic_link record_author'
49 authorquery = rec_attrs.author | replace('[,\.:;]', '');
50 mkurl(ctx.opac_root _ '/results', {qtype => 'author', query => authorquery, $loc_name => loc_value}, 1)
51 -%]">[% rec_attrs.author | html %]</a>
53 <div class='cn_browse_info' name='cn_browse_lib'>[% cn.owning_lib.name | html %]</div>
55 [% IF loop.index % 3 == 2; tr_open = 0 %]
58 [% END; IF tr_open %]</tr>[% END %]