对象“Sonata \ UserBundle \ Twig \ GlobalVariables”的方法“defaultAvatar”不存在?

时间:2014-10-14 07:47:16

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

我已经安装了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管理面板,则一切正常,但如果我登录到appliaction并尝试访问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

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

1 个答案:

答案 0 :(得分:0)

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

在文件&app;资源/ SonataUserBundle / views / Admin / Core / user_block.html.twig'我改变了行

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

为:

    {% set _user_image  = false %}

您还可以使用其他资源自定义图像...但这是一个非常快速的解决方法。