我正在尝试将一个管理员设置为 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/