如何在模板中仅呈现特定的BLOCK?
假设我在text.tt中有这样一个BLOCK,一个Template Toolkit文件:
[% BLOCK someblock %] some block test blah blah blah [% END %]我希望能够使用process()来处理这一部分:
$tt->process("text.tt/someblock", {...}, {...});这是处理这个问题的正确方法吗?
发布于 2009-08-15 12:18:06
我想你可能想要的是EXPOSE_BLOCKS选项吧?
use strict;
use warnings;
use Template;
my $tt = Template->new({
INCLUDE_PATH => '.',
EXPOSE_BLOCKS => 1,
});
$tt->process( 'test.tt/header', { tit => 'Weekly report' } );
for my $day qw(Mon Tues Weds Thurs Fri Sat Sun) {
$tt->process( 'test.tt/body', { day => $day, result => int rand 999 } );
}
$tt->process( 'test.tt/footer', { tit => '1st Jan 1999' } );test.tt:
[% BLOCK header %]
[% tit %]
[% END %]
[% BLOCK body %]
* Results for [% day %] are [% result %]
[% END %]
[% BLOCK footer %]
Correct for week commencing [% tit %]
[% END %]将生成此报告(具有随机数):
每周报告
星期一的
星期二的
星期三的
<代码>H113星期五的结果是490<代码>H214<代码>H115星期六的结果是88<代码>H216<代码>H117太阳的结果是887<代码>H218<代码>F219
正确用于1999年1月1日开始的一周
希望这能有所帮助。
https://stackoverflow.com/questions/1281391
复制相似问题