Vistas en Symfony2

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

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post

1 Comentario

  1. Hola estoy trabajando con Symfony 2 y tengo la siguiente funcion
    public function portadaAction(&ciudad)
    {if (null==&ciudad)
    // codigo d la funciomn

    }

    y me esta dabndo el siguiente error>
    Controller «Cafe\OfertaBundle\Controller\DefaultController::portadaAction()» requires that you provide a value for the «$ciudad» argument (because there is no default value or because there is a non optional argument after this one).

    La duda mia radica en q si tengo q poner en alguinlado un valor porm defecto???
    la idea es q si el uduario no epecifica una aciudad me redireccione a una ciudad por defecto,
    e inclui el httpfundation/response Redirection
    agradeceria tooda la ayuda posible
    atentamente Hugo

    Responder

Poner un comentario

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