Thread Frage zu HTML::Template::Compiled: <%IF foo%><%IF bar%>bla<%/IF%><%/IF%> (106 answers)
Opened by steffenw at 2006-12-15 15:33

steffenw
 2007-04-16 17:31
#28762 #28762
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Eigentlich funktioniert das Template. Auch wenn keine rows da sind, verschwndet die Tabelle.
Nur die Zeilen werden wegen __counter__ nicht durchnummeriert und die Einfärbung jeder zweiten Zeile klappt wegen __odd__ nicht. Das Problem ist ja auch, daß ich nicht auf __counter__ der aktuellen loop zugreifen will, sondern auf das der elterlichen loop.
Die Frage ist auch, kann man das eleganter schreiben?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use strict;
use warnings;

use HTML::Template::Compiled;

my $htc = HTML::Template::Compiled->new(
tagstyle          => [qw(-classic +asp)],
loop_context_vars => 1,
scalarref         => \<<'EOT');
<%LOOP row%>
   <%IF __first__%>
       <table>
           <tr>
               <td>counter</td>
               <%LOOP .head%>
                   <td><%= _%></td>
               <%/LOOP%>
           </tr>
   <%/IF%>
   <%LOOP _%>
       <tr>
           <td><%= ..__counter__%></td>
           <td<%IF ..__odd__%> style="background-color:#efefef"<%/IF%>>
               <%= _%>
           </td>
       </tr>
   <%/LOOP%>
   <%IF __last__%>
       </table>
   <%/IF%>
<%/LOOP%>
EOT
$htc->param(
   head => [map {"head $_"} 1 .. 3],
   row  => [
       ['a' .. 'c'],
       ['d' .. 'f'],
   ],
);
print $htc->output();
\n\n

<!--EDIT|steffenw|1176730477-->
$SIG{USER} = sub {love 'Perl' or die};

View full thread Frage zu HTML::Template::Compiled: <%IF foo%><%IF bar%>bla<%/IF%><%/IF%>