Template Toolkit
From Cyclone3 Wiki
(Difference between revisions)
(→Examples of usage) |
(→Examples of usage) |
||
Line 49: | Line 49: | ||
</template> | </template> | ||
</pre> | </pre> | ||
+ | |||
+ | == Example for usage in modules == | ||
+ | |||
+ | Calling module with tpl parameters: | ||
+ | |||
+ | <pre> | ||
+ | <MODULE> | ||
+ | <VAR id="-type" value="mdl" /> | ||
+ | <VAR id="-addon" value="a401" /> | ||
+ | <VAR id="-name" value="article_list" /> | ||
+ | <VAR id="-version" value="tpl" /> | ||
+ | <VAR id="-level" value="global" /> | ||
+ | <VAR id="-tpl" value="default" /> | ||
+ | <VAR id="-TMP" value="CONTENT" /> | ||
+ | </MODULE> | ||
+ | </pre> | ||
+ | |||
+ | Inside module | ||
+ | |||
+ | <pre> | ||
+ | sub execute | ||
+ | { | ||
+ | my %env=@_; | ||
+ | Tomahawk::GetTpl() || return undef; | ||
+ | |||
+ | ... | ||
+ | $TPL->variables_push(\%db0_line); | ||
+ | ... | ||
+ | |||
+ | return 1; | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | GetTpl() loads file '''401-article_list.tpl.default.tpl''' located in local _mdl directory. | ||
[[Category:Labs]] | [[Category:Labs]] |
Revision as of 15:57, 20 October 2011
Template Toolkit is from commit r5950 (2011-09-07) integrated part of Cyclone3 Framework, special TOM::Template library and everyone can use it.
Examples of usage
For Template Toolkit grammar check this documentation [1]
Perl code
my $tpl=new TOM::Template( 'level' => "auto", 'name' => "test", 'content-type' => "xhtml" ); # fill test data for (1..10) { my %db0_line=( 'name'=>"test string".$_ ); $tpl->variables_push(\%db0_line); } $tpl->process(); print $tpl->{'output'};
XML template (TOM::Template)
<?xml version="1.0" encoding="UTF-8"?> <template> <header> <tt enabled="true" /> </header> <entity id="main"> <![CDATA[ <h1>[%title%]</h1> <ul> [%FOREACH item IN items%] <li>name: [%item.name%]</li> [%END%] </ul> ]]> </entity> </template>
Example for usage in modules
Calling module with tpl parameters:
<MODULE> <VAR id="-type" value="mdl" /> <VAR id="-addon" value="a401" /> <VAR id="-name" value="article_list" /> <VAR id="-version" value="tpl" /> <VAR id="-level" value="global" /> <VAR id="-tpl" value="default" /> <VAR id="-TMP" value="CONTENT" /> </MODULE>
Inside module
sub execute { my %env=@_; Tomahawk::GetTpl() || return undef; ... $TPL->variables_push(\%db0_line); ... return 1; }
GetTpl() loads file 401-article_list.tpl.default.tpl located in local _mdl directory.