symfony - 未生成子管理路由 - Sonata Admin Bundle

标签 symfony sonata-admin symfony-sonata sonata

我正在尝试将一个管理员设置为 Sonata Admin Bundle 中其他管理员的 child 。

我有 2 个管理类(class):

  • 分类管理员
    这个类包含以下方法

    protected function configureSideMenu(MenuItemInterface $menu, $action, AdminInterface $childAdmin = null)
    {            
         $id = $this->getRequest()->get('id');
    
         $menu->addChild(
             $this->trans('Projects'),
             array('uri' => $this->getChild('sonata.admin.project')->generateUrl('list', array('id' => $id)))
         );
    }
    
  • 项目管理员
    该类包含 protected $parentAssociationMapping = 'category';category是模型类中表示多对一关联的属性。

  • 我在 CategoryAdmin 的服务配置中添加了以下几行

    calls:
        - [ addChild, ["@sonata.admin.project"]]
    

    使用此配置不会生成子管理员的路由。 SideMenu(顶部菜单)中的链接指向 /admin/project/list?childId=1&id=1
    这是 CategoryAdmin 的 child 的输出与 dump()
    array:1 [▼
        "sonata.admin.project" => ProjectAdmin {#406 ▶}
    ]
    

    这意味着我的 child 管理员的配置似乎是正确的。我不知道为什么没有生成子管理员的路由。

    我希望有人能给我一个提示,可能是什么问题。

    最佳答案

    下一代奏鸣曲编码器注意事项:
    如果您的路线未生成,请首先检查您没有执行以下操作:

    protected function configureRoutes(RouteCollection $collection)
    {
        //clear all routes except given !!!
        $collection->clearExcept(array('list', 'show'));
    }
    

    花了我两天...

    关于symfony - 未生成子管理路由 - Sonata Admin Bundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28636229/

    相关文章:

    php - Symfony2 错误 : The service "templating" has a dependency on a non-existent service "templating.globals"

    php - 索纳塔管理仪表板 : configure actions per entity

    php - sonataIntlBundle 问题 - 我无法使用 composer 安装

    mysql - 教义或地方给出奇怪的结果

    symfony - Symfony2 中的多个 Twig_Extension

    php - API 平台 : Filtering Custom Data Provider

    php - 如何从 Sonata Admin 的 Admin 类访问 Entity 类?

    symfony - 管理中的可排序奏鸣曲类型模型

    symfony - 将 sonata_media_type 用作 1 :N via a sonata_type_collection field 时出现 500 错误

    symfony - 在 Symfony2 中保留用户操作日志