如何仅渲染BLOCK
模板中的特定内容?
假设我有这个BLOCK
,text.tt
一个模板工具包文件:
[% BLOCK someblock %] some block test blah blah blah [% END %]
我希望能够用来process()
处理那部分:
$tt->process("text.tt/someblock", {...}, {...});
这是处理这个问题的正确方法吗?
如何仅渲染BLOCK
模板中的特定内容?
假设我有这个BLOCK
,text.tt
一个模板工具包文件:
[% BLOCK someblock %] some block test blah blah blah [% END %]
我希望能够用来process()
处理那部分:
$tt->process("text.tt/someblock", {...}, {...});
这是处理这个问题的正确方法吗?
我认为它是您可能追求的 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' } );
测试.tt:
[% BLOCK header %]
[% tit %]
[% END %]
[% BLOCK body %]
* Results for [% day %] are [% result %]
[% END %]
[% BLOCK footer %]
Correct for week commencing [% tit %]
[% END %]
将生成此报告(带有随机数):
每周报告
周一的结果是 728
周二的结果是 363
婚礼的结果是 772
星期四的结果是 864
周五的结果是 490
周六的结果是 88
太阳的结果是 887
正确于 1999 年 1 月 1 日开始的一周
希望有帮助。