Plantillas en Symfony2

Las plantillas en Symfony2 se pueden definir de manera global en el directorio app/Resources/views/default/ y con twig podemos definir una serie de bloques que luego serán utilizados en las vistas normales para “rellenar” esa plantilla. Veamos un ejemplo.

Plantilla.html.twig

<!DOCTYPE HTML>
<html lang="es">
    <head>
        <meta charset="utf8"/>
        <title>{% block title %} Plantillas en Symfony2 {% endblock %}</title>
    </head>
    
    <body>
        <div class="content">{%block content %} Contenido vacio por defecto {%endblock%}</div>
    </body>
</html>

Defino el bloque title que tiene el valor por defecto “Plantillas en Symfony2” y defino el bloque content.

En las vistas que heredarán de la plantilla puedo llamar a estos bloques en cualquier orden.

{% extends "::plantilla.html.twig" %}

{% block content%}

    <h1>{{listado}}:</h1>
    {# Bucle en Twig #}
    {% for post in posts %}
        {{ post.title }} <br/>
        {{ post.description }}<hr/>
    {% endfor %}

{%endblock%}
    
    
{%block title%}
    Usando plantillas TWIG
{%endblock%}

Si dentro de un bloque la instrucción

{{ parent() }}

Lo que haremos será añadir instrucciones al bloque, en lugar de sobreescribir lo que la plantilla base ya tiene.

Más información:
La vista – Symfony2
Documentación oficial de Twig

Victor

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post

Poner un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *