问题 如何在模板工具包模板文件中覆盖WRAPPER?


有没有办法禁用a WRAPPER 这是设置的 新(\%配置),通过模板,或临时覆盖 parse()?我想要一个默认值 WRAPPER (我将使用99.9%的模板),但不包括一些。

我正在做这件事 Catalyst::View::TT 就像在中的例子 配置简介,除了我不想要的 WRAPPER 适用于我的所有模板。


4430
2018-02-19 21:05


起源



答案:


编辑包装器,包括一个条件:

[% IF no_wrapper OR template.no_wrapper %] [% content %] [% ELSE %]
  top;
    [% content %]
  bottom;
[% END %]

这允许我在模板内部(1)或(2)从存储中禁用包装器。

  1. [%- META no_wrapper = 1 -%]
  2. $c->stash->{no_wrapper} = 1

META var ...; 是一个指令 var 可以通过 template 哈希为 template.var

资源: http://wiki.catalystframework.org/wiki/gettingstarted/howtos/template_wrappers


8
2018-03-02 22:42



这是使用这种方法的锅炉板XHTML 1.1包装器: github.com/EvanCarroll/Craiglickr/blob/master/root/wrapper.tt - Evan Carroll


答案:


编辑包装器,包括一个条件:

[% IF no_wrapper OR template.no_wrapper %] [% content %] [% ELSE %]
  top;
    [% content %]
  bottom;
[% END %]

这允许我在模板内部(1)或(2)从存储中禁用包装器。

  1. [%- META no_wrapper = 1 -%]
  2. $c->stash->{no_wrapper} = 1

META var ...; 是一个指令 var 可以通过 template 哈希为 template.var

资源: http://wiki.catalystframework.org/wiki/gettingstarted/howtos/template_wrappers


8
2018-03-02 22:42



这是使用这种方法的锅炉板XHTML 1.1包装器: github.com/EvanCarroll/Craiglickr/blob/master/root/wrapper.tt - Evan Carroll


在中定义例外 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;
-%]

4
2018-02-19 21:47





我偶然发现了同样的问题,并创建了一个更通用的解决方案,允许动态切换布局,或根本没有布局。看这里:

使用Dancer和Template :: Toolkit的多个布局/包装器


0
2017-08-31 23:27