Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]739[/thread]

HTC und TMPL_LOOP: Ausgabe bei leerem Array



<< >> 2 Einträge, 1 Seite
MartinR
 2006-05-27 23:37
#7784 #7784
User since
2004-06-17
305 Artikel
BenutzerIn
[default_avatar]
Hi,

ich habe unter Verwendung von HTML::TEMPLATE folgendes benutzt:

Code: (dl )
1
2
3
4
5
my @AlleWerte;

$template->param (
DUMMY => \@AlleWerte,
);
Code: (dl )
1
2
3
4
5
6
<TMPL_IF DUMMY>
<p>TEXT Nur ausgeben wenn Werte vorhanden</p>
<TMPL_LOOP DUMMY>
...
</TMPL_LOOP DUMMY>
</TMPL_IF DUMMY>


Dies funktioniert auch zu meiner Zufriedenheit. Der TEXT wird nur ausgegeben wenn Werte im Array AlleWerte vorhanden sind. ist die Liste leer wird der Text auch nicht angezeigt.

HTML::Template::Compiled behandelt nun aber auch eine leere Liste. Der Loop ist zwar leer, der IF-Zweig wird aber trotzdem angezeigt. Ich wollte mir eigentlich die Abfrage im Skript ersparen ob Werte vorhanden sind oder nicht. Hat eine&reg; Lösungsvorschläge?

Danke
pq
 2006-05-28 01:03
#7785 #7785
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ja:
Code: (dl )
1
2
3
4
5
6
<TMPL_LOOP DUMMY>
<TMPL_IF __first__>
 <p>TEXT Nur ausgeben wenn Werte vorhanden</p>
</TMPL_IF __first__>
...
</TMPL_LOOP DUMMY>


fragt sich halt, was "korrekter" ist. ein if auf eine array-referenz ist halt
true. H::T fragt in dem fall anscheinend noch die anzahl ab.\n\n

<!--EDIT|pq|1148764021-->
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
<< >> 2 Einträge, 1 Seite



View all threads created 2006-05-27 23:37.