ccc

Symfony: Redireccionamientos desde el controller

Mostrar directamente en el Controller un mensaje HTML sin vista ni nada:
return new Response("Todo OK"); // debe estar incluido use Symfony\Component\HttpFoundation\Response;

Crear una excepción de página no encontrada:
if ($pagina != "xxx")
    throw $this->createNotFoundException('Lo siento. Página no encontrada');


Cargar la vista normalmente:
return $this->render('librerianovelasBundle:Info:'.$pagina.'.html.twig', array());

Redirigir directamente a una web externa:
return $this->redirect('http://www.google.es');

Redirigir a otro controller distinto: // el nombre se saca del routing

return $this->redirect($this->generateUrl('librerianovelas_ayuda',
                array("tema"=>"introducción")));
Incluso se puede especificar las páginas que se van a pasar por url con Slug
return $this->redirect($this->generateUrl('librerianovelas_ayuda',
                array("slug"=>"librerias")));
// sería lo mismo que poner a pelo /info/ayuda/librerias/

Cargar en ese mismo controller otro controller (sin redirigir para que no cambie la url del navegador):
$response = $this->forward('librerianovelasBundle:Info:nosotros',
                    array(
                        "nombre" => "Pepee",
                        "apellidos" => "Pérez",
                        "edad" => "29"
          
                    ));
return $response;

Más información en: http://symfony.com/doc/current/book/controller.html





No hay comentarios:

Publicar un comentario