Symfony - Sonata “在管理池中找不到管理服务“app.admin.post”。”

Posted

技术标签:

【中文标题】Symfony - Sonata “在管理池中找不到管理服务“app.admin.post”。”【英文标题】:Symfony - Sonata "Admin service "app.admin.post" not found in admin pool." 【发布时间】:2017-12-08 07:10:56 【问题描述】:

我在尝试访问仪表板时收到以下错误。

在渲染模板期间抛出异常(“在管理池中找不到管理服务“app.admin.post”。”)

我使用本教程“”5.3.2。使用 config.yml"" 我不知道为什么会出现这个错误 https://symfony.com/doc/current/bundles/SonataAdminBundle/reference/dashboard.html

sonata_admin:
templates:
    dashboard: SonataAdminBundle:Core:dashboard.html.twig
dashboard:
    groups:
        app.admin.group.content:
            label: app.admin.group.content
            label_catalogue: AppBundle
            items:
                - app.admin.post

        app.admin.group.blog:
            items: ~
            item_adds:
                - sonata.admin.page
            roles: [ ROLE_ONE, ROLE_TWO ]

        app.admin.group.misc: ~

【问题讨论】:

是的,当我在 app/config/services.yml 中仅使用“5.3.1。使用管理服务声明”但第二种方式“5.3.2.使用 config.yml" 不起作用,我不知道为什么 [link]symfony.com/doc/current/bundles/SonataAdminBundle/reference/… 【参考方案1】:

您是否按照相同的教程声明了服务?

services:
    app.admin.post:
        class: AppBundle\Admin\PostAdmin
        tags:
            - name: sonata.admin
              manager_type: orm
              group: "app.admin.group.content"
              label: "app.admin.model.post"
              label_catalogue: "AppBundle"
        arguments:
            - ~
            - AppBundle\Entity\Post
            - ~

请记住,您必须将它们声明到 app/config/services.yml 或几乎到您的 src/whateverBundle/Resources/services.yml 中

【讨论】:

如果您在 Resources/config/ 中使用 admin.yml,请确保在 DependencyInhecttion Extension 中加载此文件

以上是关于Symfony - Sonata “在管理池中找不到管理服务“app.admin.post”。”的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 4 + Sonata + Sonata Doctrine ORM Admin Bundle:错误:没有要处理的元数据类

Symfony + Sonata,一对多关系

Symfony & Sonata:如何将 javascript 添加到实体管理表单?

Symfony 2 / Sonata / 电子商务路线问题

如何在 Sonata/Symfony 3.3 中设置内容配置?

升级 symfony sonata 到 3.x