Sonata管理员更改编辑链接显示链接

时间:2013-05-23 14:22:48

标签: symfony routes hyperlink configure sonata-admin

我正在使用SonataAdminBundle,我正在试图通过show链接更改和实体的编辑链接。

我想这样做,因为我需要实体无法修改,但我希望您可以通过单击列表页面的标识符字段来显示实体。

我需要通过点击标识符来显示实体,而不是使用show action buttom。

所以我尝试了ClassAdmin:

protected function configureRoutes(RouteCollection $collection){

  $collection->add('edit',  $this->getRouterIdParameter().'/show');

}

尽管正确显示了节目的网址,但列表页面中的标识符会重定向到编辑页面。实际上,我在编辑链接中进行更改并不会产生效果并始终重定向到编辑页面。

Thansk很多!

2 个答案:

答案 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');

}

我不知道为什么我必须先删除编辑链接...但它确实有用。