$ctx->{page} = 'rresult';
my $page = $cgi->param('page') || 0;
+ my $item_type = $cgi->param('item_type');
my $facet = $cgi->param('facet');
my $query = $cgi->param('query');
my $limit = $cgi->param('limit') || 10; # TODO user settings
my $depth = defined $cgi->param('depth') ?
$cgi->param('depth') : $ctx->{find_aou}->($loc)->ou_type->depth;
- my $args = {limit => $limit, offset => $page * $limit, org_unit => $loc, depth => $depth};
+ my $args = {
+ limit => $limit, offset => $page * $limit,
+ org_unit => $loc, depth => $depth, $item_type ? (item_type => [$item_type]) : ()
+ };
$query = "$query $facet" if $facet; # TODO
my $results;
-<!-- ****************** format_selector.xml ***************************** -->
-<select id='format_selector'>
+[% name = name || "item_type";
+ id = id || "format_selector" %]
+<select id='[% id %]' name='[% name %]'>
<option value=''>[% l("All Formats") %]</option>
- <option value='a'>Book</option>
- <option value='i'>Book on cassette</option>
- <option value='n'>Book on CD</option>
- <option value='x'>Download music</option>
- <option value='y'>Download video</option>
- <option value='h'>DVD</option>
- <option value='w'>eBook - Audio</option>
- <option value='v'>eBook - Text</option>
- <option value='e'>Equipment</option>
- <option value='f'>Films</option>
- <option value='o'>Kit</option>
- <option value='q'>Large print</option>
- <option value='b'>Magazine</option>
- <option value='d'>Microform</option>
- <option value='k'>Music cassette</option>
- <option value='j'>Music CD</option>
- <option value='l'>Music LP</option>
- <option value='p'>Newspaper</option>
- <option value='t'>Online</option>
- <option value='u'>Player</option>
- <option value='c'>Printed music</option>
- <option value='2'>Read along with cassette</option>
- <option value='5'>Read along with CD</option>
- <option value='c'>Scores</option>
- <option value='m'>Software</option>
- <option value='g'>Video</option>
- <option value='r'>3-D Object</option>
- <option value='z'>Map</option>
- <option value='s'>Slide set</option>
+[% FOR o IN item_types %]
+ <option value='[% o.code %]'[% value == o.code ? ' selected="selected"' : ''%]>[% o.name %]</option>
+[%- END %]
<!--
<option value='at'>[% l("Books") %]</option>
<option value='at-d'>[% l("Large Print Books") %]</option>
<option value='m'>[% l("Electronic Resources") %]</option>
-->
</select>
-<!-- ****************** end: format_selector.xml ***************************** -->
USE CGI;
USE EGI18N;
SET DATE_FORMAT = '%m/%d/%Y';
+
+ item_types = [ # XXX KCLS-specific
+ {'code' => 'a', 'name' => 'Book', 'image' => 'media_book.jpg'},
+ {'code' => 'i', 'name' => 'Book on cassette', 'image' => 'media_bookoncasset.jpg'},
+ {'code' => 'n', 'name' => 'Book on CD', 'image' => 'media_bookoncd.jpg'},
+ {'code' => 'x', 'name' => 'Download music', 'image' => 'media_downloadmusic.jpg'},
+ {'code' => 'y', 'name' => 'Download video', 'image' => 'media_downloadvideo.jpg'},
+ {'code' => 'h', 'name' => 'DVD', 'image' => 'media_dvd.jpg'},
+ {'code' => 'w', 'name' => 'eBook - Audio', 'image' => 'media_eaudio.jpg'},
+ {'code' => 'v', 'name' => 'eBook - Text', 'image' => 'media_ebooktext.jpg'},
+ {'code' => 'e', 'name' => 'Equipment', 'image' => 'media_equipment.jpg'},
+ {'code' => 'f', 'name' => 'Films', 'image' => 'media_films.jpg'},
+ {'code' => 'o', 'name' => 'Kit', 'image' => 'media_kit.jpg'},
+ {'code' => 'q', 'name' => 'Large print', 'image' => 'media_largeprint.jpg'},
+ {'code' => 'b', 'name' => 'Magazine', 'image' => 'media_magazines.jpg'},
+ {'code' => 'd', 'name' => 'Microform', 'image' => 'media_microform.jpg'},
+ {'code' => 'k', 'name' => 'Music cassette', 'image' => 'media_musiccassette.jpg'},
+ {'code' => 'j', 'name' => 'Music CD', 'image' => 'media_musiccd.jpg'},
+ {'code' => 'l', 'name' => 'Music LP', 'image' => 'media_musicrecord.jpg'},
+ {'code' => 'p', 'name' => 'Newspaper', 'image' => 'media_newspaper.jpg'},
+ {'code' => 't', 'name' => 'Online', 'image' => 'media_online.jpg'},
+ {'code' => 'u', 'name' => 'Player', 'image' => 'media_eaudio.jpg'},
+ {'code' => 'c', 'name' => 'Printed music / scores', 'image' => 'media_printedmusic.jpg'},
+ {'code' => '2', 'name' => 'Read along with cassette', 'image' => 'media_cassettewithbook.jpg'},
+ {'code' => '5', 'name' => 'Read along with CD', 'image' => 'media_cdwithbook.jpg'},
+ {'code' => 'm', 'name' => 'Software', 'image' => 'media_software.jpg'},
+ {'code' => 'g', 'name' => 'Video', 'image' => ''},
+ {'code' => 'r', 'name' => '3-D Object', 'image' => 'media_3dobject.jpg'},
+ {'code' => 'z', 'name' => 'Map', 'image' => 'media_map.jpg'},
+ {'code' => 's', 'name' => 'Slide set', 'image' => 'media_slide.jpg'}
+ ];
+
+ icon_by_mattype = {};
+ FOR o IN item_types;
+ code = o.code;
+ icon_by_mattype.$code = o.image;
+ END;
+
-%]
[%
- icon_by_mattype = { # XXX KCLS-specific
- "a" => "media_book.jpg",
- "b" => "media_magazines.jpg",
- "c" => "media_printedmusic.jpg",
- "d" => "media_microform.jpg",
- "e" => "media_equipment.jpg",
- "f" => "media_films.jpg",
- "g" => "",
- "h" => "media_dvd.jpg",
- "i" => "media_bookoncassette.jpg",
- "j" => "media_musiccd.jpg",
- "k" => "media_musiccassette.jpg",
- "l" => "media_musicrecord.jpg",
- "m" => "media_software.jpg",
- "n" => "media_bookoncd.jpg",
- "o" => "media_kit.jpg",
- "p" => "media_newspaper.jpg",
- "q" => "media_largeprint.jpg",
- "r" => "media_3dobject.jpg",
- "s" => "media_slide.jpg",
- "t" => "media_online.jpg",
- "u" => "media_eaudio.jpg",
- "v" => "media_ebooktext.jpg",
- "w" => "media_eaudio.jpg",
- "x" => "media_downloadmusic.jpg",
- "y" => "media_downloadvideo.jpg",
- "z" => "media_map.jpg",
- "2" => "media_cassettewithbook.jpg",
- "5" => "media_cdwithbook.jpg"
- };
-
# Extract MARC fields from XML
# get_marc_attrs( { marc_xml => doc } )
BLOCK get_marc_attrs;
mattype = attrs.mattype;
args.format = ctx.find_citm(mattype).value;
args.format_icon = icon_by_mattype.$mattype;
-
END;
-
%]
</tr>
<tr>
<td>
- [% INCLUDE "default/opac/parts/format_selector.tt2" %]
+ [% INCLUDE "default/opac/parts/format_selector.tt2" value=CGI.param("item_type") %]
</td>
<td>
<span id='depth_selector_span'>