/ / Ako môžem prepísať WRAPPER v súbore šablóny Toolkit? - perl, šablóny, katalyzátor

Ako môžem prepísať súbor WRAPPER v súbore šablón šablón Toolkit? perl, šablóny, katalyzátor

Existuje spôsob, ako zakázať WRAPPER to bolo stanovené nový (% konfigurácia), prostredníctvom šablóny alebo dočasným prepísaním pomocou parse()? Chcem mať jedinú predvolenú hodnotu WRAPPER (ktoré budem používať pre 99,9% svojich šablón), ale niektoré z nich vylúčim.

Robím to celé Catalyst::View::TT rovnako ako príklad v konfiguračná osnova, s výnimkou toho, že nechcem WRAPPER použiť na všetky moje šablóny.

odpovede:

8 pre odpoveď č. 1

Upravte obal tak, aby obsahoval podmienené:

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

To mi umožňuje zakázať obal buď (1) vo vnútri šablóny alebo (2) zo skrýše.

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

META var ...; je smernica, ktorá vytvára var prístupné cez internet template hash as template.var

zdroj: http://wiki.catalystframework.org/wiki/gettingstarted/howtos/template_wrappers


4 pre odpoveď č. 2

Definujte výnimky v site/wrapper sám, a btw tam už sú definované výnimky.

[% 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.namen");
content WRAPPER site/html + site/layout;
END;
-%]

0 pre odpoveď č. 3

Narazil som na ten istý problém a vytvoril som zovšeobecnené riešenie, ktoré umožňuje dynamické prepínanie rozložení, alebo nemá rozloženie vôbec. Pozri tu:

Viac ako jedno rozloženie / obal s Dancer and Template :: Toolkit