Lines 41-47
BEGIN {
Link Here
|
41 |
@ISA = qw(Exporter); |
41 |
@ISA = qw(Exporter); |
42 |
@EXPORT = qw( |
42 |
@EXPORT = qw( |
43 |
&GetPrinters &GetPrinter |
43 |
&GetPrinters &GetPrinter |
44 |
&GetItemTypes &getitemtypeinfo |
44 |
&getitemtypeinfo |
45 |
&GetItemTypesCategorized |
45 |
&GetItemTypesCategorized |
46 |
&getallthemes |
46 |
&getallthemes |
47 |
&getFacets |
47 |
&getFacets |
Lines 85-174
Koha.pm provides many functions for Koha scripts.
Link Here
|
85 |
|
85 |
|
86 |
=cut |
86 |
=cut |
87 |
|
87 |
|
88 |
=head2 GetItemTypes |
|
|
89 |
|
90 |
$itemtypes = &GetItemTypes( style => $style ); |
91 |
|
92 |
Returns information about existing itemtypes. |
93 |
|
94 |
Params: |
95 |
style: either 'array' or 'hash', defaults to 'hash'. |
96 |
'array' returns an arrayref, |
97 |
'hash' return a hashref with the itemtype value as the key |
98 |
|
99 |
build a HTML select with the following code : |
100 |
|
101 |
=head3 in PERL SCRIPT |
102 |
|
103 |
my $itemtypes = GetItemTypes; |
104 |
my @itemtypesloop; |
105 |
foreach my $thisitemtype (sort keys %$itemtypes) { |
106 |
my $selected = 1 if $thisitemtype eq $itemtype; |
107 |
my %row =(value => $thisitemtype, |
108 |
selected => $selected, |
109 |
description => $itemtypes->{$thisitemtype}->{'description'}, |
110 |
); |
111 |
push @itemtypesloop, \%row; |
112 |
} |
113 |
$template->param(itemtypeloop => \@itemtypesloop); |
114 |
|
115 |
=head3 in TEMPLATE |
116 |
|
117 |
<form action='<!-- TMPL_VAR name="script_name" -->' method=post> |
118 |
<select name="itemtype"> |
119 |
<option value="">Default</option> |
120 |
<!-- TMPL_LOOP name="itemtypeloop" --> |
121 |
<option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="description" --></option> |
122 |
<!-- /TMPL_LOOP --> |
123 |
</select> |
124 |
<input type=text name=searchfield value="<!-- TMPL_VAR name="searchfield" -->"> |
125 |
<input type="submit" value="OK" class="button"> |
126 |
</form> |
127 |
|
128 |
=cut |
129 |
|
130 |
sub GetItemTypes { |
131 |
my ( %params ) = @_; |
132 |
my $style = defined( $params{'style'} ) ? $params{'style'} : 'hash'; |
133 |
|
134 |
require C4::Languages; |
135 |
my $language = C4::Languages::getlanguage(); |
136 |
# returns a reference to a hash of references to itemtypes... |
137 |
my $dbh = C4::Context->dbh; |
138 |
my $query = q| |
139 |
SELECT |
140 |
itemtypes.itemtype, |
141 |
itemtypes.description, |
142 |
itemtypes.rentalcharge, |
143 |
itemtypes.notforloan, |
144 |
itemtypes.imageurl, |
145 |
itemtypes.summary, |
146 |
itemtypes.checkinmsg, |
147 |
itemtypes.checkinmsgtype, |
148 |
itemtypes.sip_media_type, |
149 |
itemtypes.hideinopac, |
150 |
itemtypes.searchcategory, |
151 |
COALESCE( localization.translation, itemtypes.description ) AS translated_description |
152 |
FROM itemtypes |
153 |
LEFT JOIN localization ON itemtypes.itemtype = localization.code |
154 |
AND localization.entity = 'itemtypes' |
155 |
AND localization.lang = ? |
156 |
ORDER BY itemtype |
157 |
|; |
158 |
my $sth = $dbh->prepare($query); |
159 |
$sth->execute( $language ); |
160 |
|
161 |
if ( $style eq 'hash' ) { |
162 |
my %itemtypes; |
163 |
while ( my $IT = $sth->fetchrow_hashref ) { |
164 |
$itemtypes{ $IT->{'itemtype'} } = $IT; |
165 |
} |
166 |
return ( \%itemtypes ); |
167 |
} else { |
168 |
return [ sort { lc $a->{translated_description} cmp lc $b->{translated_description} } @{ $sth->fetchall_arrayref( {} ) } ]; |
169 |
} |
170 |
} |
171 |
|
172 |
=head2 GetItemTypesCategorized |
88 |
=head2 GetItemTypesCategorized |
173 |
|
89 |
|
174 |
$categories = GetItemTypesCategorized(); |
90 |
$categories = GetItemTypesCategorized(); |