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
19 febrero, 2018
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