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ď č. 1Upravte 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.
[%- META no_wrapper = 1 -%]
$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