Подтвердить что ты не робот

Как я могу переопределить WRAPPER в файле шаблона шаблона Toolkit?

Есть ли способ отключить WRAPPER, который был установлен в new (\% config), либо с помощью шаблона, либо с помощью временное переопределение с помощью parse()? Я хочу иметь один по умолчанию WRAPPER (который я буду использовать для 99,9% моих шаблонов), но исключить несколько.

Я делаю все это через Catalyst::View::TT, как пример в конфигурационный синопсис, за исключением того, что я не хочу, чтобы WRAPPER для применения ко всем моим шаблонам.

4b9b3361

Ответ 1

Отредактируйте обертку, чтобы включить условие, подобное:

[% 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

Ответ 2

Определите исключения в site/wrapper, и btw есть уже определенные исключения.

[% 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;
-%]