Llevo poquitos días iniciado en el mundo de Symfony 2 y tengo una pequeña duda sobre si cierta implementación es la correcta o existen mejores alternativas.
He creado un layout diseñado con Twig donde muestro diferente información según el usuario se encuentre logueado o no. Es decir, algo similar a:
Usuario logueado:
- muestro tal plantilla
Usuario sin loguear:
muestro cual plantilla
Para ello utilizo un controlador/acción que me comprueba si el nombre de usuario es nulo. En caso afirmativo devuelve una vista y en caso negativo devuelve otra.
Código PHP:
public function loginHelperAction()
{
$usuario = $this->getUser();
if(is_null($usuario)) {
$usuario = 'invitado';
return $this->render('PermisoAuthBundle:Security:nologin.html.twig');
} else {
return $this->render('PermisoAuthBundle:Security:loggued.html.twig', array ('usuario' => $usuario));
}
}
Código HTML:
<div id="loginbar"> {% render "PermisoAuthBundle:Security:loginHelper" %} </div>
Bien, dicho lo anterior me gustaría saber si he hecho lo correcto o si hay alguna alternativa mejor. Personalmente me gusta esta solución porque tengo mis bloques de código separado -a semejante de los partials- y según haya o no nombre de usuario el motor de plantillas inyecta el más conveniente.
Gracias por anticipado y un saludo.