2

我的 Symfony2-Project 与 SonataAdmin- 和 UserBundle 有问题。我根据 Admin- 和 UserBundle-Documentations 安装和配置了所有东西,并试图让它运行,这看起来不错。所以你可以说这两个捆绑包都是开箱即用的。当我尝试从 Admin-Dashboard 访问用户列表(默认路径/admin/sonata/user/user/list)时,我得到了这个:

An exception has been thrown during the rendering of a template
("Unable to generate a URL for the named route "value_user_create" as
such route does not exist.") in
"SonataAdminBundle:CRUD:list.html.twig".

如前所述,我既没有更改 Sonata 提供的默认路由信息,也没有覆盖 Controller 或任何东西。根据 symfony 控制台,存在其他 CRUDrouter:debug路由admin_sonata_user_user_create中的路由(指向/admin/sonata/user/user/create

所以对我来说,似乎 route-name 中的值value_user_create不会被admin_sonata_user-prefix 取代,但这只是一个想法,我无法证明。无论如何,我找不到任何地方来解决这个问题,所以每一个帮助和提示在这里都可能会有所帮助。

提前致以最诚挚的问候和感谢

编辑:我的奏鸣曲用户服务如下所示:

sonata_user:
    security_acl: false
    class:
        user:   Application\Sonata\UserBundle\Entity\User
        group:  Application\Sonata\UserBundle\Entity\Group
    admin:
        user:
            class:          Repertorium\AdminBundle\Entity\UserAdmin
            controller:     SonataAdminBundle:CRUD
            translation:    SonataUserBundle
        group:
            class:          Sonata\UserBundle\Admin\Entity\GroupAdmin
            controller:     SonataAdminBundle:CRUD
            translation:    SonataUserBundle

在这里第一次发表评论后,我创建了我自己的 UserAdmin-Class,它派生自默认的 Sonata\UserBundle\Admin\Entity\UserAdmin-Class,除了它如上所述将 baseRouteName 设置为 null。正如配置所说,我正在使用默认的 AdminBundle-CRUD-Controller。在那种情况下没有覆盖或任何东西。清除缓存,再次尝试 - 相同的错误消息。还尝试将其设置为文字,例如“user_admin”,但同样无效。奇怪的是,所有其他路线似乎都运行良好。我可以打开创建用户页面,以及创建组和列出组页面。

4

1 回答 1

1

您的服务定义如何?你使用默认的 CRUD 控制器吗?此外,您的 Admin 类中的 Admin::$baseRouteName 变量似乎被“值”而不是 null 覆盖。尝试将其设置为:

class UserAdmin extends Admin {

    public $baseRouteName = null;

    // ...
}

它有什么改变吗?不要忘记尝试清除缓存。

于 2013-08-20T10:39:41.550 回答