首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板工具包包括钩子?

模板工具包包括钩子?
EN

Stack Overflow用户
提问于 2012-07-03 09:30:42
回答 2查看 329关注 0票数 4

当我包含一个模板并在其中更改模板的路径时,是否会执行某种类型的钩子?

例如:

代码语言:javascript
复制
[% INCLUDE test %]

我想将“测试”的路径改为“AE/test.tt”或“FR/test.tt”。

其思想是更改模板的路径,而不更改包含所在的模板。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-03 11:13:04

通常这样做的方法是在构造INCLUDE_PATH对象时使用Template参数:

代码语言:javascript
复制
my $tt = Template->new({INCLUDE_PATH => 'AE'});

构建一个新的Template实例并不是什么大不了的事情,因此,在处理模板的时候,没有理由不动态创建一个新的实例,但是,如果您处于一个持久的环境中,并且真正需要性能,那么始终可以选择创建多个:

代码语言:javascript
复制
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);
票数 5
EN

Stack Overflow用户

发布于 2012-07-03 09:38:34

我认为这是可能的,就像下面的Template示例:

代码语言:javascript
复制
[% mytest = 'AE/test.tt' %]
[% INCLUDE  $mytest  %]           # 'AE/test.tt'

这里没测试过。

请参阅INCLUDE

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11308118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档