0

我已经安装了 FOSUserBundle、SonataUserBundle 和 SonataAdminBundle

我的内核的一部分:

    $bundles = array(
    (...)
        new FOS\UserBundle\FOSUserBundle(),
        new Sonata\CoreBundle\SonataCoreBundle(),
        new Sonata\BlockBundle\SonataBlockBundle(),
        new Knp\Bundle\MenuBundle\KnpMenuBundle(),      
        new Sonata\AdminBundle\SonataAdminBundle(),
        new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle(),

        new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
        new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),          
        new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),          

    (...)          
    );

我有

如果我在注销时禁用防火墙并访问 Sonata 管理面板,一切正常,但是如果我登录到应用程序并尝试访问 url app_dev.php/admin/dashboard 错误消息出现:

Method "defaultAvatar" for object "Sonata\UserBundle\Twig\GlobalVariables" does not exist in SonataUserBundle:Admin/Core:user_block.html.twig at line 7

我已经尝试清除缓存并重新安装资产,但没有任何改变......有人可以帮我解决这个问题吗?

4

1 回答 1

0

好的,我已经解决了这个问题 - 也许它会帮助某人:

在文件 'app/Resources/SonataUserBundle/views/Admin/Core/user_block.html.twig' 我改变了行

    {% set _user_image  = app.user.profilePicture|default(asset(sonata_user.defaultAvatar)) %}

到:

    {% set _user_image  = false %}

您还可以使用其他资产自定义图像......但这是一个非常快速的修复。

于 2014-10-14T09:11:27.740 回答