有没有办法通过模板或临时覆盖来禁用WRAPPER
在 new(\%config)parse()
中设置的 a ?我想要一个默认值WRAPPER
(我将用于 99.9% 的模板),但排除一些。
我一直在做这一切,Catalyst::View::TT
就像配置概要中的示例一样,除了我不希望WRAPPER
应用于我的所有模板。
有没有办法通过模板或临时覆盖来禁用WRAPPER
在 new(\%config)parse()
中设置的 a ?我想要一个默认值WRAPPER
(我将用于 99.9% 的模板),但排除一些。
我一直在做这一切,Catalyst::View::TT
就像配置概要中的示例一样,除了我不希望WRAPPER
应用于我的所有模板。
编辑包装器,以包含如下条件:
[% IF no_wrapper OR template.no_wrapper %] [% content %] [% ELSE %]
top;
[% content %]
bottom;
[% END %]
这使我可以(1)在模板内部或(2)从存储中禁用包装器。
[%- META no_wrapper = 1 -%]
$c->stash->{no_wrapper} = 1
META var ...;
是一个var
可以通过template
哈希访问的指令template.var
来源:http ://wiki.catalystframework.org/wiki/gettingstarted/howtos/template_wrappers
自己定义异常site/wrapper
,顺便说一句,那里已经定义了异常。
[% 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 site/html + site/layout;
END;
-%]
我偶然发现了同样的问题,并创建了一个更通用的解决方案,允许动态切换布局,或者根本没有布局。看这里: