我正在尝试访问控制器中设置的树枝中的会话变量。由于某些原因,它不适用于树枝。我检查了在另一个控制器中打印的会话变量,该控制器给出了预期的结果,但变量在模板中显示为空。我不知道我是否在配置中遗漏了什么。
//Below is my code in controller
$session = $request->getSession();
$session->set('user', [
'id' => $user->getId(),
'firstName' => $user->getfirstname()
]);
// code in twig
{{ dump(app.session) }}
答案 0 :(得分:1)
不,不要假设会话变量是全局的。
我已经完成了这个,你需要在渲染你的Twig时传递数组。像这样:
return $this->render('my_twig_file.html.twig', array(
'user' => $session->get('user'),
));
然后在Twig转储它:
{{ dump(user) }}
另外,请确保在PROD环境中不使用dump。您可能希望在完成测试后注释转储,或使用其他文件。
答案 1 :(得分:0)
我找到了自己的解决方案。我使用自定义twig扩展来访问全局变量,如会话,没有任何问题。只需找到下面的代码。
http://symfony.com/doc/current/cookbook/templating/twig_extension.html