NAME
HTML::Template::Compiled::Reference - A quick reference for HTML::Template::Compiled syntax
TAGSTYLES
<TMPL_IF var><TMPL_VAR foo></tmpl_if var>
<!-- TMPL_IF var --><!-- TMPL_VAR foo --><!-- /tmpl_if var -->
<%if var %><%= foo %><%/if var %>
Optional tagstyle 'tt':
[%if var %][%= foo %][%/if var %]
ACCESSING VARIABLES
<%= _.foo %>
outputs foo in the cuurent position of the stash and is the same as
<%= foo %>
<%= .config.url %>
goes to root of parameter stash; like $params->{config}->{url}
<%= ..foo %>
goes one level up in stash
<%= list[3].keyname.method %>
acts like: $stash->[3]->{keyname}->method
TAGS
- VAR
-
<%var foo%> or <%= foo%>
- IF, IF_DEFINED, UNLESS, ELSIF, ELSE
-
conditions like in Perl
- LOOP, WHILE, EACH
-
for-loop and while-loop like in Perl.
<%loop cds%><%= __counter__%>. Title: <%= _.title%><%/loop cds%> <%loop cds join=", " %><%= _.title%><%/loop cds%> <%while resultset.next%><%= __counter__%>. <%= _.foo %><%/while %> <%each hashref%><%= __key__ %>=<%= __value__ %><%/each %> (sorted alphanumeric) <%each hashref sort=alpha %><%= __key__ %>=<%= __value__ %><%/each %> (sorted alphanumeric) <%each hashref sort=num %><%= __key__ %>=<%= __value__ %><%/each %> (sorted numeric) <%each hashref sort=0 %><%= __key__ %>=<%= __value__ %><%/each %> (not sorted)
- WITH
-
<%with cds[0].artist.fanclub%><%= _.address%><%= _.homepage%><%/with %>
- INCLUDE, INCLUDE_VAR
-
<%include template.htc%> <%include_var param_with_template_name%>
- COMMENT, VERBATIM, NOPARSE
-
<%comment explanation %> This will not appear in the rendered template. blah blah... <%/comment explanation %>
- SWITCH, CASE
-
<%switch .config.language%> <%case de%>Hallo <%case es%>Hola <%case en,default%>Hello <%/switch .config.language%>
- PERL
-
See section Perl in HTML::Template::Compiled
ATTRIBUTES
Each attribute can be written as
attribute=foo
attribute="some thing"
attribute='some "thing"'
- NAME
-
You can omit the
'name='
here.<%if var%>var<%elsif name=var2%>var4<%/if%>
Can be used in all tags.
- ESCAPE
-
<%= message escape=html %> <%= params escape=url %> <%= params escape=js %> <%= some_var escape=dump|html%>
Can be used in
VAR
-tags. - DEFAULT
-
<%= this.var.might_be_undef default="my fault" %>
Can be used in
VAR
-tags. - ALIAS
-
<%loop cds alias="cd" %><%= $cd.title %><%/loop cds %>
Can be used in
LOOP
andWHILE
. Works like "SET_VAR" and is short for<%loop cds %><%set_var cd value=_ %><%= cd.title %><%/loop cds %>
Useful for nested loops.
- SET_VAR
-
<%set_var myvar value=.another.var %> <%set_var myvar2 expr="60 * 60 * 24" %>
This creates a variable similar to a package var with local() in perl.
- USE_VARS
-
<!-- recognize myvar and myvar2 as variables not parameter stash --> <%use_vars myvar,myvar2 %> myvar: <%= myvar %>
- JOIN
-
<%loop cds join=", " %><%= _.title%><%/loop cds%>
can be used in
LOOP
- BREAK
-
<%loop cds break="3" %> <%= _.title%><%if __break__ %>\n</%if %> <%/loop cds%>
Sets
__break__
to 1 every xth loop. Can be used inLOOP
,WHILE
andEACH
OPTIONS
- (loop)_context_vars
-
<%= __index__ %> the current loop index starting at 0 <%= __counter__ %> the current loop index starting at 1 <%= __first__ %> true if first iteration <%= __last__ %> true if last iteration <%= __odd__ %> true if __counter__ is odd <%= __inner__ %> true if not last or first iteration <%= __key__ %> the key of an EACH iteration <%= __value__ %> the value of an EACH iteration <%= __break__ %> see L<"BREAK"> above <%= __filename__ %> filename of current template (since 0.91_001) <%= __filenameshort__ %> short filename of current template (since 0.91_001)