参考Soanatomadmin的文档,可以更改对象链接的默认路由。
默认情况下,它是编辑路线。我根本不想要它,需要在不覆盖我所有管理类的情况下将其更改为显示。
覆盖默认路由的更好方法是什么?
谢谢。
最好的方法是通过扩展SonataORMAdminBundle来覆盖该分支。
要做到这一点,您需要:
- 安装SonataEasyGenerate捆绑包
- 使用命令
php app/console sonata:easy-extends:generate SonataORMAdminBundle
- 这将生成一个新的存储库Application/Sonata/DoctrineRMAdminBundle
- 然后,您需要转到Application/Sonata/DoctrineRMAdminBundle/Resources/views/CRUD,并粘贴来自供应商(vendor/Sonata/DeoctrineOMAdminBundle/REsources/views/cCRUD)的细枝
最后,更改细枝中的链接。例如,如果您想调用列表视图来调用多对一关系的显示路线:
- 编辑list_orm_many_to_one.html.twig以调用generateObjectUrl("ow",…)而不是generateObjectUrl
希望这会有所帮助。