¿Hay alguna manera de deshabilitar un WRAPPER
que se estableció en nuevo (% config), a través de la plantilla o una anulación temporal con parse()
? Quiero tener un solo valor predeterminado WRAPPER
(que usaré para el 99.9% de mis plantillas), pero excluyo algunas.
Estoy haciendo esto todo el tiempo Catalyst::View::TT
al igual que el ejemplo en el sinopsis de configuración, excepto que no quiero el WRAPPER
para aplicar a todas mis plantillas.
Respuestas
8 para la respuesta № 1Edite el contenedor, para incluir un condicional como:
[% IF no_wrapper OR template.no_wrapper %] [% content %] [% ELSE %]
top;
[% content %]
bottom;
[% END %]
Esto me permite deshabilitar el contenedor ya sea (1) dentro de la plantilla o (2) desde el alijo.
[%- META no_wrapper = 1 -%]
$c->stash->{no_wrapper} = 1
META var ...;
es una directiva que hace var
accesible a través del template
hash como template.var
fuente: http://wiki.catalystframework.org/wiki/gettingstarted/howtos/template_wrappers
4 para la respuesta № 2
Definir excepciones en site/wrapper
en sí, y por cierto, ya hay excepciones definidas allí.
[% 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 para la respuesta № 3
Me encontré con el mismo problema y creé una solución más generalizada que permite el cambio dinámico de diseños o no tener ningún diseño. Mira aquí:
Más de un diseño / envoltorio con Dancer y Template :: Toolkit