Las vistas en Symfony2 se colocan en el directorio views de nuestro Bundle y dentro de un directorio con el nombre del controlador al que corresponden.
En la acción devolvemos el render de la vista y le pasamos los parámetros, de esta forma:
return $this->render("PruebasEjemploBundle:Default:listar.html.twig", array( "posts"=>$po ));
Después en la vista con Twig podremos hacer muchas cosas:
{# Comentario en Twig Estamos en MIBUNDLE/views/Default/listar.html.twig #} {# Imprimir en Twig #} {{"Hola"}} {# var_dump() en Twig #} {{ dump(posts) }} {# Definiendo variable #} {% set listado = 'Listado' %} <h1>{{listado}}:</h1> {# Bucle en Twig #} {% for post in posts %} {{ post.title }} <br/> {{ post.description }}<hr/> {% endfor %} <br/> {# Filtro en Twig #} {% filter upper %} Soy Víctor Robles {% endfilter %} <br/><br/> {# If en Twig #} {% if posts|length >= 2 %} Mayor o igual a dos {% endif %} <br/><br/> {# Includes en Twig #} {% include "PruebasEjemploBundle:Default:index.html.twig" with { name: "Include desde twig" } %}
Twig tiene un montón de filtros y funciones útiles, te invito a que las consultes en su documentación oficial.
Más información:
La vista – Symfony2
Documentación oficial de Twig