Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony Sonata管理员按显示链接更改编辑链接_Symfony_Routes_Hyperlink_Configure_Sonata Admin - Fatal编程技术网

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

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

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

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

我需要通过单击标识符来显示实体,而不是使用ShowAction按钮

所以我试着在ClassAdmin中:

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

}