symfony1 - services - Cómo configurar un diseño de plantilla diferente para diferentes módulos en Symfony
symfony dependency injection yml (2)
¿Cómo configurar diferentes diseños de plantillas para diferentes módulos en Symfony?
Tengo una aplicación bancaria que consiste en una pantalla de inicio de sesión y una sección para miembros. Entonces, cuando un usuario vaya a mi sitio, se le presentará una pantalla de inicio de sesión. Después de iniciar sesión, será redirigido a la sección de miembros para que pueda hacer lo que sea que necesite.
Entonces, ¿cómo configurar diferentes diseños para la pantalla de inicio de sesión y las páginas dentro de la sección de miembros? Symfony parece usar frontend/templates/layout.php
como plantilla para TODAS las páginas. ¿Es posible definir diferentes diseños?
O si estás dentro de acciones, puedes usar simplemente:
$this->setLayout(''name_file_layout_without_extension'');
Y después puede trabajar en la plantilla que está utilizando dentro del módulo.
Sí, puede definir diseños separados por vista (o deshabilitar el diseño por completo). Para hacer esto, debe crear (o editar, si ya lo tiene) el archivo view.yml en el directorio / config de su módulo. Puede definir el diseño que se utilizará para todas las vistas del módulo o para cada vista por separado. Por ejemplo:
#in /apps/my_app/modules/my_module/config/view.yml
#this will apply custom_layout to all views of the module
all:
layout: custom_layout
#this will apply login_layout to the loginSuccess view
loginSuccess:
layout: login_layout
#disable layout for this view
homeSuccess:
has_layout: false
En todos los casos, el diseño es el archivo en el directorio / templates de su aplicación (con .php anexado). Si no define ninguna directiva de diseño en el archivo de configuración de vista del módulo, se utilizará el diseño predeterminado.