Índice

LayoutsLayouts ( Plantilla:de páginaplantillas de página) y Blocksblocks

Navegando en un sitio web clásico, podemos darnos cuenta de que las páginas se parecen mucho y que solo cambia el contenido principal, mientras que otras partes son estáticas (menú, pie de página, etc.).

Si las plantillas que representan estas páginas están aisladas, una modificación sobre un contenido común al sitio haría obligatorio la edición de todas las plantillas lo que no parece viable, porque esto va en contra del principio “Don’t Repeat Yourself” (“No repetirse”), verdadero leitmotiv del desarrollador.

Por lo tanto, es muy interesante factorizar el código redundante de sus plantillas usando layouts, de manera que no tenga que repetirse.

Un layout es una plantilla de diseño de página, que se utiliza como base durante la creación de páginas. De algún modo, es un patrón de diseño, un molde.

Por defecto, el framework incluye un layout en un lugar genérico. Se sitúa en el directorio app/Resources/views y se llama base.html.twig:

<!DOCTYPE html>  
<html>  
   <head>  
       <meta charset="UTF-8" />  
       <title>{% block title %}Welcome!{% endblock %}</title>  
       {% block stylesheets %}{% endblock %}  
   </head>   ...