【问题标题】:Symfony 2.8 Twig_Error_Runtime Sonata Admin BundleSymfony 2.8 Twig_Error_Runtime Sonata 管理包
【发布时间】:2016-07-03 14:00:24
【问题描述】:

Twig_Error_Runtime:在 SonataAdminBundle::standard_layout.html.twig 的第 183 行渲染模板期间引发了异常(““app.security”变量不可用。”)。

现在我认为这是不可能的,应用程序是 Twig 全局的,并且不知道从哪里开始。我正在尝试配置 Sonata User Bundle: FOS User Bundle 和 Sonata Admin Bundle,但收效甚微。

编辑我删除了 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 全局 变量和 is_granted() 函数。

【问题讨论】:

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


    【解决方案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.user 替换对 app.security 的调用:http://symfony.com/blog/new-in-symfony-2-6-security-component-improvements

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 1970-01-01
      • 2017-05-19
      • 2013-11-25
      • 2021-07-14
      • 2014-04-28
      • 1970-01-01
      • 2018-02-28
      • 2013-03-25
      相关资源
      最近更新 更多