Ich verwende FOSuserbundle, um mit der Benutzerregistrierung https://github.com/FriendsOfSymfony/FOSUserBundle zu beginnen
Ich habe es registriert / ein- und abmelden. Was ich jetzt tun möchte, ist, die angemeldeten Benutzerdaten zu erfassen und auf jeder Seite meiner Website zu präsentieren. Wie "Hallo Benutzername" in der Kopfzeile.
Es scheint wie ein Controller in meiner Einbettung app / Resources / Ansichten / base.html.twig ist der beste Weg , dies zu tun http://symfony.com/doc/current/book/templating.html#embedding-controllers
Also habe ich meinen Controller geschrieben, um auf die Benutzerprofildaten zuzugreifen. Was ich nicht herausfinden kann, ist, wie ich auf FOS-Methoden in meinem eingebetteten Controller zugreifen kann. Von meiner Acme / UserBundle / Controller / UserController.php aus möchte ich Folgendes tun:
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));
}
was ich von genommen habe: vendor / bundles / FOS / UserBundle / Controller / ProfileController.php