Schrift
[thread]967[/thread]

HTC: Alternative zu LOOP



<< >> 4 Einträge, 1 Seite
Froschpopo
 2007-07-20 04:49
#391 #391
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ich suche eine Alternative Lösung zu solchen Problemen wie:
Code: (dl )
1
2
3
4
5
6
7
<select name="gender">

<option value="3"<TMPL_IF Gender_3> selected>>keine Angabe</option>
<option value="1"<TMPL_IF Gender_1> selected>>frau</option>
<option value="2"<TMPL_IF Gender_2> selected>>mann</option>

</select>

Ich möchte die Auswahlfelder ausschließlich im Template festlegen und nicht für jede Selectbox extra einen Loop auf den Weg schicken müssen.
Es wäre schön, wenn im Script folgende Übergabe genügen würde:

$template->param(Gender => $gender_id)

bequem wäre ja mal sowas wie:
Code: (dl )
1
2
3
4
5
6
7
<select name="gender">
<TMPL_SWITCH Gender>
<option value="3"<TMPL_CASE 3> selected</TMPL_CASE>>keine Angabe</option>

<option value="1"<TMPL_CASE 1> selected</TMPL_CASE>>frau</option>
</TMPL_SWITCH>
</select>
\n\n

<!--EDIT|Froschpopo|1184892659-->
MartinR
 2007-07-20 08:51
#392 #392
User since
2004-06-17
305 Artikel
BenutzerIn
[default_avatar]
Warum nicht mit cgi.pm?
Code: (dl )
1
2
3
4
5
6
$template->param(
Gender => $cgi->popup_menu (
-name => 'gender',
-values => ... usw.
),
);
pq
 2007-07-20 12:11
#393 #393
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
da die auswahlfelder in der regel aus der datenbank kommen, ist hier meine
empfohlene lösung (aus Perlmonks:627497):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my @cities = qw(Berlin Hamburg North_Adams);

my $htc = HTML::Template::Compiled->new(
   scalarref => \"<select><%html_option cities %></select>",
   plugin => [qw(::HTML_Tags)],
);
$htc->param(
   cities => [
       1, # selected
       map { [$_, $cities[$_]] } 0..$#cities],
);


output:

Code: (dl )
1
2
3
<select><option value="0" >Berlin</option>
<option value="1" selected="selected">Hamburg</option>
<option value="2" >North_Adams</option></select>

und nun sag, das sei nicht bequem...\n\n

<!--EDIT|pq|1184919440-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2007-07-20 12:42
#394 #394
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Cool, das Plugin kannte ich auch noch nicht (*auf die Liste der zu installierenden Module setz*)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 4 Einträge, 1 Seite



View all threads created 2007-07-20 04:49.