@@ -, +, @@ MARC21) set to something with an itemtype image associated with it. link. If on a dev install, you can confirm with Firebug or the like that the image is pulled from /intranet-tmpl. routine used to retrieve the image URL is correct. (Note that you must have an item type with the code 'BK') pulled from opac-tmpl. --- C4/Koha.pm | 10 ++++++---- C4/VirtualShelves/Page.pm | 2 +- t/db_dependent/Koha.t | 8 +++++++- 3 files changed, 14 insertions(+), 6 deletions(-) --- a/C4/Koha.pm +++ a/C4/Koha.pm @@ -419,20 +419,22 @@ sub getframeworkinfo { =head2 getitemtypeinfo - $itemtype = &getitemtype($itemtype); + $itemtype = &getitemtypeinfo($itemtype, [$interface]); -Returns information about an itemtype. +Returns information about an itemtype. The optional $interface argument +sets which interface ('opac' or 'intranet') to return the imageurl for. +Defaults to intranet. =cut sub getitemtypeinfo { - my ($itemtype) = @_; + my ($itemtype, $interface) = @_; my $dbh = C4::Context->dbh; my $sth = $dbh->prepare("select * from itemtypes where itemtype=?"); $sth->execute($itemtype); my $res = $sth->fetchrow_hashref; - $res->{imageurl} = getitemtypeimagelocation( 'intranet', $res->{imageurl} ); + $res->{imageurl} = getitemtypeimagelocation( ( ( defined $interface && $interface eq 'opac' ) ? 'opac' : 'intranet' ), $res->{imageurl} ); return $res; } --- a/C4/VirtualShelves/Page.pm +++ a/C4/VirtualShelves/Page.pm @@ -271,7 +271,7 @@ sub shelfpage { #$this_item->{imageurl} = $imgdir."/".$itemtypes->{ $this_item->{itemtype} }->{'imageurl'}; #$this_item->{'description'} = $itemtypes->{ $this_item->{itemtype} }->{'description'}; $this_item->{'dateadded'} = format_date( $this_item->{'dateadded'} ); - $this_item->{'imageurl'} = getitemtypeinfo( $this_item->{'itemtype'} )->{'imageurl'}; + $this_item->{'imageurl'} = getitemtypeinfo( $this_item->{'itemtype'}, $type )->{'imageurl'}; $this_item->{'coins'} = GetCOinSBiblio( $record ); $this_item->{'subtitle'} = GetRecordValue('subtitle', $record, GetFrameworkCode($this_item->{'biblionumber'})); $this_item->{'normalized_upc'} = GetNormalizedUPC( $record,$marcflavour); --- a/t/db_dependent/Koha.t +++ a/t/db_dependent/Koha.t @@ -7,7 +7,7 @@ use strict; use warnings; use C4::Context; -use Test::More tests => 8; +use Test::More tests => 9; BEGIN { use_ok('C4::Koha'); @@ -55,3 +55,9 @@ if($insert_success){ $sth->execute($data->{category}, $data->{authorised_value}, $data->{lib}, $data->{lib_opac}, $data->{imageurl}); } +subtest 'Itemtype info Tests' => sub { + like ( getitemtypeinfo('BK')->{'imageurl'}, qr/intranet-tmpl/, 'getitemtypeinfo on unspecified interface returns intranet imageurl (legacy behavior)' ); + like ( getitemtypeinfo('BK', 'intranet')->{'imageurl'}, qr/intranet-tmpl/, 'getitemtypeinfo on "intranet" interface returns intranet imageurl' ); + like ( getitemtypeinfo('BK', 'opac')->{'imageurl'}, qr/opac-tmpl/, 'getitemtypeinfo on "opac" interface returns opac imageurl' ); +}; + --