Symfony Sonata管理员按显示链接更改编辑链接
我正在使用SonataAdminBundle,通过show链接更改和实体的编辑链接 我想这样做是因为我需要无法修改实体,但我希望您可以通过单击列表页面的标识符字段来显示实体 我需要通过单击标识符来显示实体,而不是使用ShowAction按钮 所以我试着在ClassAdmin中:Symfony Sonata管理员按显示链接更改编辑链接,symfony,routes,hyperlink,configure,sonata-admin,Symfony,Routes,Hyperlink,Configure,Sonata Admin,我正在使用SonataAdminBundle,通过show链接更改和实体的编辑链接 我想这样做是因为我需要无法修改实体,但我希望您可以通过单击列表页面的标识符字段来显示实体 我需要通过单击标识符来显示实体,而不是使用ShowAction按钮 所以我试着在ClassAdmin中: protected function configureRoutes(RouteCollection $collection){ $collection->add('edit', $this->get
protected function configureRoutes(RouteCollection $collection){
$collection->add('edit', $this->getRouterIdParameter().'/show');
}
尽管url是在正确显示的情况下生成的,但列表页面中的标识符将重定向到编辑页面。实际上,无论我在编辑链接中更改了什么,它都不会生效,并且总是重定向到编辑页面
太多了 您可以提供如下默认操作(在您的管理类中): 最后,它的工作原理是:
protected function configureRoutes(RouteCollection $collection){
$collection->remove('edit');
$collection->add('edit', $this->getRouterIdParameter().'/show');
}
我不知道为什么我必须先删除编辑链接。。。但是它可以工作。你清除缓存了吗?如果你真的不需要“编辑”视图,那么只需扩展“编辑”视图并将该页面重定向到“显示”视图即可?我知道它很脏,但也许它能工作。扩展编辑视图太脏了哈哈哈,但在最后一刻它可能是一个选项,除非我不太喜欢:)我认为@shinework答案在大多数情况下更好。
protected function configureRoutes(RouteCollection $collection){
$collection->remove('edit');
$collection->add('edit', $this->getRouterIdParameter().'/show');
}