У меня есть страница входа, которая при входе в систему возвращает приветственную страницу с именем пользователя на ней. Я использую этот код, чтобы передать переменную $ пользователю страницы приветствия:Как передать переменные с одной страницы на другую в Symfony2
return $this->render('LoginLoginBundle:Default:welcome.html.twig', array('user' => $user));
Теперь на странице приветствия у меня есть нав со ссылкой на manager.html.twig на него.
Это код ссылки на странице приветствия:
<li><a href="{{path('login_login_managerPage')}}">Manager</a></li>
Ссылка идет на этом маршруте:
login_login_managerPage:
path: /managerPage
defaults: { _controller: LoginLoginBundle:Default:manager }
, который указывает на managerAction:
public function managerAction(Request $request) {
$session = $this->getRequest()->getSession();
$em = $this->getDoctrine()->getEntityManager();
$repository = $em->getRepository('LoginLoginBundle:User');
if ($session->has('login')) {
$login = $session->get('login');
$username = $login->getUsername();
$password = $login->getPassword();
$user = $repository->findOneBy(array('username' => $username, 'password' => $password));
if ($user) {
return $this->render('LoginLoginBundle:Default:manager.html.twig', array('user' => $user));
}
}
return $this->render('LoginLoginBundle:Default:login.html.twig');
}
Теперь я не могу получить $ user на странице менеджера. Как правильно передать его между страницами?
EDIT: Я editedy код, но теперь я получаю эту ошибку:
Impossible to access an attribute ("username") on a NULL variable ("") in LoginLoginBundle:Default:welcome.html.twig at line 10
я редактировал О.П., спасибо за ваш ответ –
я получаю эту ошибку, когда я пытаюсь свой ответ: Импосс ible для доступа к атрибуту («имя пользователя») в переменной NULL («») в LoginLoginBundle: по умолчанию: welcome.html.twig в строке 10 –