Estoy usando FOSuserbundle para comenzar con el registro de usuario https://github.com/FriendsOfSymfony/FOSUserBundle
Lo tengo registrándome / entrando y saliendo. Lo que quiero hacer ahora es tomar los datos de los usuarios registrados y presentarlos en cada página de mi sitio. Como "Hola nombre de usuario" en el tipo de encabezado.
Parece que incrustar un controlador en mi aplicación / Resources / views / base.html.twig es la mejor manera de hacer esto http://symfony.com/doc/current/book/templating.html#embedding-controllers
Entonces escribí mi controlador para acceder a los datos del perfil de usuario. Lo que no puedo entender es cómo acceder a los métodos FOS en mi controlador integrado. Entonces, desde mi Acme / UserBundle / Controller / UserController.php quiero hacer esto:
public function showAction()
{
$user = $this->container->get('security.context')->getToken()->getUser();
if (!is_object($user) || !$user instanceof UserInterface) {
throw new AccessDeniedException(
'This user does not have access to this section.');
}
return $this->container->get('templating')
->renderResponse('FOSUserBundle:Profile:show.html.'.$this->container
->getParameter('fos_user.template.engine'), array('user' => $user));
}
que tomé de: vendor / bundles / FOS / UserBundle / Controller / ProfileController.php
fuente
app.user.username
aún me funcionó. Podría ser útil que alguien lo sepa.Para Symfony 2.6 y superior podemos usar
como app.security la variable global para la plantilla Twig ha quedado obsoleta y se eliminará de 3.0
más información:
http://symfony.com/blog/new-in-symfony-2-6-security-component-improvements
y ver las variables globales en
http://symfony.com/doc/current/reference/twig_reference.html
fuente
{{ app.user.firstname }}
. Supongo que es más amigable con el desarrollador de aplicaciones para el usuario.Simplemente presente el nombre de usuario de inicio de sesión, por ejemplo, la función de filtro predeterminada ('') debería ser agradable cuando el usuario NO inicia sesión solo para evitar el molesto mensaje de error.
fuente