我有像“用户管理员”这样的管理员和一个像“文档管理员”“
这样的子管理员admin.users:
class: App\Admin\UserAdmin
arguments: [~, App\Entity\User, SonataAdminBundle:CRUD]
calls:
- [addChild, ['@admin.documents'] ]
tags:
- {name: sonata.admin, manager_type: orm, label: Users}
public: true
admin.documents:
class: App\Admin\DocumentsAdmin
arguments: [~, App\Entity\Document, ~]
calls:
- [setParentAssociationMapping, ['user']]
- [setTranslationDomain, ['admin']]
tags:
- {name: sonata.admin, manager_type: orm, label: Documents}
public: true
我尝试删除创建和删除路由
应用\管理员\ DocumentAdmin
protected function configureRoutes(RouteCollection $collection)
{
parent::configureRoutes($collection);
$collection->remove('delete');
$collection->remove('create');
}
但是当我打开这个管理员( / admin / app / user / 1 / document / list )时,我收到错误:
在渲染模板期间抛出了异常 (“无法生成指定路由的URL “admin_app_user_document_create”因为这样的路线不存在。“)。
不工作,但应该是。我希望看到子管理员机智用户文档,而无需添加和创建按钮。
但是当我直接打开文档管理员( / admin / app / document / list )时 - 一切正常!我看到列表没有添加,编辑和删除按钮。
如何在两种情况下删除DocumentAdmin中的路由?
Symfony 4 / Sonata Admin 3.35
答案 0 :(得分:0)
您只删除了创建和删除链接。您还需要删除链接以列出实体。我想这就是你需要的?也加上这一行。
protected function configureRoutes(RouteCollection $collection)
{
parent::configureRoutes($collection);
$collection->remove('delete');
$collection->remove('create');
$collection->remove('list');
}
您可以查看列表文档,因为您没有从路径集合中删除列表操作。