据我了解,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
不会site/html
像我只使用常规时那样进入Template Toolkit
(通常site/layout
进入[% content %]
in site/html
)。我在这里做错了吗?我想用它Template::Alloy
来提高速度,但前提是我可以让它工作:) 谢谢你的帮助!