use Exporter;
use Data::Dumper;
use C4::Csv;
+use C4::XSLT;
use vars qw($debug @EXPORT @ISA $VERSION);
my ( $shelflimit, $shelfoffset, $shelveslimit, $shelvesoffset );
my $marcflavour = C4::Context->preference("marcflavour");
- # FIXME: These limits should not be hardcoded...
- $shelflimit = 20; # Limits number of items returned for a given query
- $shelfoffset = ( $itemoff - 1 ) * 20; # Sets the offset to begin retrieving items at
- $shelveslimit = 20; # Limits number of shelves returned for a given query (row_count)
- $shelvesoffset = ( $shelfoff - 1 ) * 20; # Sets the offset to begin retrieving shelves at (offset)
+ $shelflimit = ( $type eq 'opac' ? C4::Context->preference('OPACnumSearchResults') : C4::Context->preference('numSearchResults') );
+ $shelflimit = $shelflimit || 20;
+ $shelfoffset = ( $itemoff - 1 ) * $shelflimit; # Sets the offset to begin retrieving items at
+ $shelveslimit = $shelflimit; # Limits number of shelves returned for a given query (row_count)
+ $shelvesoffset = ( $shelfoff - 1 ) * $shelflimit; # Sets the offset to begin retrieving shelves at (offset)
# getting the Shelves list
my $category = ( ( $displaymode eq 'privateshelves' ) ? 1 : 2 );
my ( $shelflist, $totshelves ) = GetShelves( $category, $shelveslimit, $shelvesoffset, $loggedinuser );
}
( $items, $totitems ) = GetShelfContents( $shelfnumber, $shelflimit, $shelfoffset );
for my $this_item (@$items) {
- my $record = GetMarcBiblio( $this_item->{'biblionumber'} );
+ my $biblionumber = $this_item->{'biblionumber'};
+ my $record = GetMarcBiblio($biblionumber);
+ $this_item->{XSLTBloc} =
+ XSLTParse4Display($biblionumber, $record, 'Results', 'opac')
+ if C4::Context->preference("OPACXSLTResultsDisplay");
# the virtualshelfcontents table does not store these columns nor are they retrieved from the items
# and itemtypes tables, so I'm commenting them out for now to quiet the log -crn
$this_item->{'normalized_oclc'} = GetNormalizedOCLCNumber($record,$marcflavour);
$this_item->{'normalized_isbn'} = GetNormalizedISBN(undef,$record,$marcflavour);
# Getting items infos for location display
- my @items_infos = &GetItemsInfo( $this_item->{'biblionumber'}, $type );
+ my @items_infos = &GetItemsLocationInfo( $this_item->{'biblionumber'});
$this_item->{'itemsissued'} = CountItemsIssued( $this_item->{'biblionumber'} );
$this_item->{'ITEM_RESULTS'} = \@items_infos;
if ( defined $barshelves ) {
$template->param(
- barshelves => scalar( @{ $barshelves->[0] } ),
- barshelvesloop => $barshelves->[0],
+ barshelves => scalar( @{ $barshelves } ),
+ barshelvesloop => $barshelves,
);
- $template->param( bartotal => $total->{'bartotal'}, ) if ( $total->{'bartotal'} > scalar( @{ $barshelves->[0] } ) );
+ $template->param( bartotal => $total->{'bartotal'}, ) if ( $total->{'bartotal'} > scalar( @{ $barshelves } ) );
}
if ( defined $pubshelves ) {
$template->param(
- pubshelves => scalar( @{ $pubshelves->[0] } ),
- pubshelvesloop => $pubshelves->[0],
+ pubshelves => scalar( @{ $pubshelves } ),
+ pubshelvesloop => $pubshelves,
);
- $template->param( pubtotal => $total->{'pubtotal'}, ) if ( $total->{'pubtotal'} > scalar( @{ $pubshelves->[0] } ) );
+ $template->param( pubtotal => $total->{'pubtotal'}, ) if ( $total->{'pubtotal'} > scalar( @{ $pubshelves } ) );
}
output_html_with_http_headers $query, $cookie, $template->output;