Sonata Admin :将更多组添加到服务池的列表中

Sonata Admin : Add more groups to the service pool's list

在 SonataAdmin 中,文档列出了三种在菜单中放置自定义项的方法:通过配置、通过菜单提供程序和通过事件。

使用配置(或提供者)意味着在配置中手动指定组,如下所示:

sonata_admin:
    dashboard:
        groups:
            news:
                label:                ~
                label_catalogue:      ~
                items:
                    - sonata.news.admin.post
                    - route:        blog_home
                      label:        Blog
                    - route:        blog_article
                      route_params: { articleId: 3 }
                      label:        Article

(https://sonata-project.org/bundles/admin/master/doc/cookbook/recipe_knp_menu.html)

但是一旦您在配置中声明了一个非空 groups 数组,它就会覆盖自动生成的组,这是从管理服务池中猜测的。

有没有办法在配置文件中手动添加组,同时保留 Admin Services 定义的组?

谢谢大家的宝贵时间。

答案是

唯一的选择是在组内使用 item_adds 条目。但这并没有解决最初的问题。

我的建议是:不要使用自动生成的组。相反,在配置中手动定义它们,使用一些漂亮的内置名称,如 sonata.admin.groups.news 并在服务声明中引用它们:

        tags:
            - { name: sonata.admin, manager_type: orm, group: sonata.admin.groups.news, label: "News" }