NAME
Ananke::Template - Front-end module to the Ananke::Template
DESCRIPTION
Based in Template ToolKit This documentation describes the Template module which is the direct Perl interface into the Ananke::Template.
SYNOPSIS
Template.pl:
use Ananke::Template;
# Vars
my @array;
push(@array,{ name => 'Udlei', last => 'Nattis' });
push(@array,{ name => 'Ananke', last => 'IT' });
my $var = {
id => 1,
title => 'no title',
text => 'no text',
};
# Template Directory and File
my $template_dir = "./";
my $template_file = "template.html";
my $template_vars = {
'hello' => "\nhello world",
'scalar' => $var,
'array' => ['v1','v2','v3','v4'],
'register' => \@array,
};
$template_vars->{SCRIPT_NAME} = "file.pl";
# Method 1 - print
# Create template object
my $template = new Ananke::Template($template_dir);
# Run Template
$template->process($template_file,$template_vars);
# Method 2 - print
&Ananke::Template::view_template($template_dir,$template_file,$template_vars);
# Method 3 - write in file
&Ananke::Template::view_template($template_dir,$template_file,$template_vars,"/tmp/file.html");
# Method 4 - return to variable
my $return = Ananke::Template::view_template($template_dir,$template_file,$template_vars,1);
print $return;
template.html:
[% hello %]
[% IF scalar %]
ID: [% scalar.id %]
Title: [% scalar.title %]
Text: [% scalar.text %]
[% END %]
[% FOREACH i = array %]
value = [% i %]
[% END %]
[% FOREACH i = register %]
Nome = [% i.name %], Last = [% i.last %]
[% END %]
DIRECTIVE
INCLUDE
Process another template file or block and include the output. Variables are localised.
[% INCLUDE template %]
[% INCLUDE ../template.html %]
FOREACH
Repeat the enclosed FOREACH ... END block for each value in the list.
[% FOREACH variable = list %]
content...
[% variable %]
[% END %]
# or
[% FOREACH i = list_chn_grp %]
[% count++ %]
[% IF count % 2 %] [% bgcolor = "#FFFFFF" %]
[% ELSE %] [% bgcolor = "#EEEEEE" %]
[% END %]
[% i.bgcolor %]
[% END %]
IF / UNLESS / ELSIF / ELSE
Enclosed block is processed if the condition is true / false.
[% IF condition %]
content
[% ELSIF condition %]
content
[% ELSE %]
content
[% END %]
[% UNLESS condition %]
content
[% # ELSIF/ELSE as per IF, above %]
content
[% END %]
FOR
[% FOR i=1;i<=12;i++ %]
[% i=1 %]
[% END %]
VARIABLES
[% var = 'text' %]
[% var %]
AUTHOR
Udlei D. R. Nattis
nattis@anankeit.com.br
http://www.nobol.com.br
http://www.anankeit.com.br