Symfony 2.8 Twig_Error_Runtime Sonata Admin Bundle

时间:2016-03-17 09:47:25

标签: php symfony twig sonata-admin sonata-user-bundle

Twig_Error_Runtime:在第183行的SonataAdminBundle :: standard_layout.html.twig中,在呈现模板期间抛出了异常(“该”app.security“变量不可用。”)。

现在我不认为这是可能的,应用程序是Twig全球,并且不知道从哪里开始。我正在尝试配置Sonata用户软件包:FOS用户软件包和Sonata管理软件包,但收效甚微。

编辑我删除了SonataUserBundle并返回到我知道在其他项目中工作的配置。这将问题视为Symfony和Twig的具体而不是我配置中的错误;所以我删除了我的配置文件。

对于遇到此问题的任何其他人:app.security已从2.6弃用,并且应该在3.0中删除。然而,有人打破了BC层,并且不再注入容器,因此效果是app.security已被删除2.8而不是3.0。请参阅https://github.com/symfony/symfony/issues/18223https://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

  

最后,此更改还会弃用app.security全局变量   对于Twig模板。您应该使用app.user global   变量和is_granted()函数。

1 个答案:

答案 0 :(得分:0)

这是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