Nuevo en Symfony 3.4: control de los temas de formulario globales
Los formularios de Symfony permiten aplicar uno o más temas de forma global a todos los formularios de tu aplicación. Si por ejemplo añades la siguiente configuración, todos los formularios se mostrarán con el diseño adecuado para Bootstrap 4:
# app/config/config.yml twig: form_themes: ['bootstrap_4_layout.html.twig']
Lo único malo de estos temas globales es que son muy poco flexibles, ya que se
aplican a todos los formularios de la aplicación sin excepciones. Por eso en
Symfony 3.4 hemos mejorado la etiqueta form_theme
de Twig para poder
deshabilitar los temas globales.
Si quieres evitar que en un formulario específico se apliquen los temas globales,
define los temas de ese formulario con la etiqueta form_theme
y añade la
palabra clave only
al final:
{% form_theme form with ['common.html.twig', 'form/fields.html.twig'] only %} {# ... #}
La palabra clave only
hace que no se aplique ningún tema global, ni siquiera
el tema base form_div_layout.html.twig
. Así que asegúrate de que tus temas de
formulario incluyen todos los bloques necesarios para mostrar los formularios
(para ello, lo más fácil es que tu tema extienda el tema base con la etiqueta
use
de Twig en vez de extends
).
Esta funcionalidad fue contribuida por Edi Modrić en el pull request #22610.
Fuente: New in Symfony 3.4: Disable global form themes
Comentarios
Proyectos Symfony destacados
La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.