bli*_*iof 4 perl hook template-toolkit
是否存在某种类型的钩子,当我包含模板并且我可以在其中更改模板的路径时将执行该钩子?
例如
[% INCLUDE test %]
Run Code Online (Sandbox Code Playgroud)
我想的路径更改为"测试"是像"AE/test.tt"或"FR/test.tt".
我们的想法是更改模板的路径,而不更改包含所在的模板.
执行此操作的常规方法是INCLUDE_PATH在构造Template对象时使用参数:
my $tt = Template->new({INCLUDE_PATH => 'AE'});
Run Code Online (Sandbox Code Playgroud)
构建一个新Template实例并不是什么大问题,所以没有强大的理由不在你处理模板时动态地创建一个新实例,但是,如果你处于一个持久的环境中并且真的需要性能,总是可以选择创建多个:
my %tt;
$tt{ae} = Template->new({INCLUDE_PATH => 'AE'});
$tt{fr} = Template->new({INCLUDE_PATH => 'FR'});
# ... code ... code ... code ...
$lang = 'ae';
# ... code ... code ... code ...
$tt{$lang}->process($template_name);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |