Hi Eliot and Denis,
I tried your Code, what you submitted above and it works.
But it is for Select field.
May be it would be better if I post my Code here. (
And I am trying to use language selector with checkboxes. The code
(taken from http://www.gossamer-threads.com/perl/forum/showthreaded.pl?Cat=&Board=L2Cust&Number=48583&page=&view=&sb=&vc=1)
in links.def
# Definition of your database file.
Û_def = (
ID => [0, 'numer', 5, 8, 1, '', ''],
Title => [1, 'alpha', 40, 75, 1, '', ''],
URL => [2, 'alpha', 40, 75, 1, 'http://', '^http|news|mailto|ftp'],
Date => [3, 'date', 15, 15, 1, \&get_date, ''],
Category => [4, 'alpha', 0, 150, 1, '', ''],
Description => [5, 'alpha', '40x3', 500, 0, '', ''],
'Contact Name' => [6, 'alpha', 40, 75, 1, '', ''],
'Contact Email' => [7, 'alpha', 40, 75, 1, '', '.+@.+\..+'],
Hits => [8, 'numer', 10, 10, 1, '0', '\d+'],
isNew => [9, 'alpha', 0, 5, 0, 'No', ''],
isPopular => [10, 'alpha', 0, 5, 0, 'No', ''],
Rating => [11, 'numer', 10, 10, 1, 0, '^[\d\.]+$'],
Votes => [12, 'numer', 10, 10, 1, 0, '^\d+$'],
ReceiveMail => [13, 'alpha', 10, 10, 1, 'Yes', 'No|Yes'],
Password => [14, 'alpha', 10, 10, 1, '', ''],
Key => [15, 'alpha', 40, 150, 1, '', ''],
isBest => [16, 'alpha', 0, 5, 0, 'No', ''],
Language => [17, 'alpha', 0, 60, 1, '','russian|deutsch|english']
);
Still in links.def
#Adding checkboxes field <INPUT TYPE="CHECKBOX">.
Û_checkbox_fields = (
Language => 'russian,deutsch,english'
);
in site_html_templates.pl
$russian = qq|<img src="../../images/russian.gif" alt="Russian">|;
$deutsch = qq|<img src="../../images/deutsch.gif" alt="Deutsch">|;
$english = qq|<img src="../../images/english.gif" alt="English">|;
$russian_deutsch = qq|<img src="../../images/russian_deutsch.gif" alt="Russian, Deutsch">|;
$russian_english = qq|<img src="../../images/russian_english.gif" alt="Russian, English">|;
$russian_deutsch_english = qq|<img src="../../images/russian_deutsch_english.gif" alt="Russian, Deutsch, English">|;
And then
%globals = (
date => &get_date,
time => &get_time,
db_cgi_url => $db_cgi_url,
build_root_url => $build_root_url,
site_title => $build_site_title,
css => $build_css_url,
russian => $russian,
deutsch => $deutsch,
english => $english,
russian_deutsch => $russian_deutsch,
russian_english => $russian_english,
russian_deutsch_english => $russian_deutsch_english,
deutsch_english => $deutsch_english,
banner => ''
);
And then
sub site_html_link {
# --------------------------------------------------------
# This routine is used to display what a link should look
# like.
my %rec = @_;
if ($rec{'Type1'} eq "russian") {
$type1img = $russian;
}
elsif ($rec{'Type1'} eq "deutsch") {
$type1img = $deutsch;
}
elsif ($rec{'Type1'} eq "english") {
$type1img = $english;
}
elsif ($rec{'Type1'} eq "russian|deutsch") {
$type1img = $russian_deutsch;
}
elsif ($rec{'Type1'} eq "russian|english") {
$type1img = $russian_english;
}
elsif ($rec{'Type1'} eq "russian|deutsch|english") {
$type1img = $russian_deutsch_english;
}
elsif ($rec{'Type1'} eq "deutsch|english") {
$type1img = $deutsch_english;
}
else {
$type1img .= $type1img .= qq| No image |;
}
And then
return &load_template ('link.html', {
detailed_url => "$db_detailed_url/$rec{'ID'}$build_extension",
type1img => $type1img,
%rec,
%globals
});
}
And in sub site_html_add_form
#----------------------------------- Add new checkbox field for Language------------------
my $language = shift;
$language ?
($language = qq~$language <input type=hidden name="Language" value="$language">~) :
($language = &build_checkbox_field ("Language", "$in{'Language'}"));
#----------------------------------- End of adding checkboxes for Language-----------------
print &load_template ('add.html', {
Category => $category,
Language => $language,
%globals
});
}
In add.html i use
<td><font face="Verdana" size="-1">
<input type="checkbox" name="Language" value="russian">
<img src="../../images/russian.gif"> -
<input type="checkbox" name="Language" value="deutsch">
<img src="../../images/deutsch.gif"> -
<input type="checkbox" name="Language" value="english">
<img src="../../images/english.gif">
</font></td></tr>
And in add.cgi I use Code submited by Denis:
if ($in{'Language'}) {
@language = split /\~\~/,$in{'Language'};
$in{'Language'} = join ("",@language);
}
And then in link.html trying to use <%type1img%>
My problem (how i think) is what i cannot extract from field "language" in links.db russian|deutsch or other possible language combination, inputed in add.html.
Can anybody help me to solve this problem for Template?
Sorry for the long Post. I don't know if it's allowd in this forum.