【发布时间】:2013-05-25 08:26:43
【问题描述】:
据我了解,Template::Alloy::TT 应该可以与 Template Toolkit 互换,但是我在尝试将其中一个与另一个交换时遇到了一些问题。这是我的视图文件的配置:
package maypp::View::HTML;
use strict;
use base 'Catalyst::View::TT';
__PACKAGE__->config({
INCLUDE_PATH => [
myapp->path_to( 'root', 'src' ),
myapp->path_to( 'root', 'lib' ),
],
PRE_PROCESS => 'config/main',
WRAPPER => 'site/wrapper',
ERROR => 'error.html',
TIMER => 0,
render_die => 1,
COMPILE_DIR => '/tmp/compiled_templates', #caches compiled templates
STAT_TTL => 1, #how long to cache templates before seeing if there are any changes
TEMPLATE_EXTENSION => '.html',
});
我认为将Catalyst::View::TT 更改为Catalyst::View::TT::Alloy 将是我开始使用Template::Alloy 所要做的所有事情(这是我之前的程序)。但是,每当我改变它时,我都没有得到正确的输出。下面是我的包装文件:
[% IF template.name.match('\.(css|js|txt)');
debug("Passing page through as text: $template.name");
content;
ELSE;
debug("Applying HTML page layout wrappers to $template.name\n");
content WRAPPER "$host/site/html" + "$host/site/layout";
END;
-%]
site/html 将被处理,但是 site/layout 不会像我只使用常规 Template Toolkit 时那样进入 site/html(通常 site/layout 在 site/html 中进入 [% content %])。我在这里做错了什么吗?我想使用Template::Alloy 来提高速度,但前提是我可以让它工作:) 谢谢你的帮助!
【问题讨论】:
标签: perl view catalyst template-toolkit