sto usando FOSuserbundle per iniziare con la registrazione dell'utente https://github.com/FriendsOfSymfony/FOSUserBundleAccesso alla utente connesso in un modello
li ho registrazione/login e logout. Quello che voglio fare ora è prendere i dati degli utenti registrati e presentarli su ogni pagina del mio sito. Come "Ciao username" nel tipo di intestazione di cosa.
Sembra incorporare un controllore nel mio app/Resources/views/base.html.twig è il modo migliore per farlo http://symfony.com/doc/current/book/templating.html#embedding-controllers
Così ho scritto il mio controller per accedere ai dati del profilo utente. Quello che non riesco a capire è come accedere ai metodi FOS nel mio controller incorporato. Quindi, dal mio Acme/UserBundle/Controller/UserController.php io voglio fare questo:
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));
}
che ho afferrato da: vendor/bundle/FOS/UserBundle/Controller/ProfileController.php
grazie. In realtà ho cambiato "RUOLO" per "IS_AUTHENTICATED_REMEMBERED" e ha funzionato benissimo. – ed209
Non sto usando FOSuserbundle (a meno che non venga fornito ora), ma 'app.user.username' ha funzionato ancora per me. Potrebbe essere utile a qualcuno per sapere. –
Grazie! Questo dovrebbe essere molto più chiaro nella documentazione. –