Twig_Error_Runtime:在第183行的SonataAdminBundle :: standard_layout.html.twig中呈现模板期间抛出了异常(“该”app.security“变量不可用 . ”) .
现在我不认为这是可能的,应用程序是Twig全球,并且不知道从哪里开始 . 我正在尝试配置Sonata用户软件包:FOS用户软件包和Sonata管理软件包,但收效甚微 .
EDIT 我删除了SonataUserBundle并返回到我知道在其他项目中工作的配置 . 这将问题视为Symfony和Twig的具体而不是我配置中的错误;所以我删除了我的配置文件 .
对于遇到此问题的任何其他人:app.security从2.6弃用,并且应该在3.0中删除 . 然而,有人打破了BC层,并且不再注入容器,因此效果是app.security已被删除2.8而不是3.0 . 见https://github.com/symfony/symfony/issues/18223和https://github.com/symfony/symfony/commit/bf066dace2922cf1ce335f5f683fc63d5a7e23c2 . 我不知道是否或何时会解决这个问题 .
同时我的解决方案是完全覆盖SonataAdminBundle :: standard_layout.html.twig,并根据迁移到3.0指令删除对app.security的调用:http://symfony.com/blog/new-in-symfony-2-6-security-component-improvements
最后,此更改还弃用了Twig模板的app.security全局变量 . 您应该使用app.user全局变量和is_granted()函数 .
1 回答
这是Twig Bridge中的一个错误,可能会在某个日期修复:https://github.com/symfony/symfony/issues/18223 https://github.com/symfony/symfony/commit/bf066dace2922cf1ce335f5f683fc63d5a7e23c2
同时我的解决方案是完全覆盖SonataAdminBundle :: standard_layout.html.twig并根据迁移到3.0指令将app.security的调用替换为app.user:http://symfony.com/blog/new-in-symfony-2-6-security-component-improvements