我正在使用SonataAdminBundle,我正在试图通过show链接更改和实体的编辑链接。
我想这样做,因为我需要实体无法修改,但我希望您可以通过单击列表页面的标识符字段来显示实体。
我需要通过点击标识符来显示实体,而不是使用show action buttom。
所以我尝试了ClassAdmin:
protected function configureRoutes(RouteCollection $collection){
$collection->add('edit', $this->getRouterIdParameter().'/show');
}
尽管正确显示了节目的网址,但列表页面中的标识符会重定向到编辑页面。实际上,我在编辑链接中进行更改并不会产生效果并始终重定向到编辑页面。
Thansk很多!
答案 0 :(得分:22)
您可以像这样(在您的管理类中)提供默认操作:
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('id', null, ['route' => ['name' => 'show']])
;
}
答案 1 :(得分:7)
最后,它的工作原理是:
protected function configureRoutes(RouteCollection $collection){
$collection->remove('edit');
$collection->add('edit', $this->getRouterIdParameter().'/show');
}
我不知道为什么我必须先删除编辑链接...但它确实有用。