Sonata Admin:显示动作而不是编辑的一对多路线

Posted

技术标签:

【中文标题】Sonata Admin:显示动作而不是编辑的一对多路线【英文标题】:Sonata Admin: One-to-many route to show action instead of edit 【发布时间】:2020-08-24 13:29:33 【问题描述】:

我的问题很简单,但我在文档或代码中的任何地方都找不到答案...

为一对多关系配置显示字段时,记录正确显示在显示页面的列表中。它们错误地链接到记录编辑操作而不是显示操作。有没有简单的方法来改变这一点。直觉上,我猜它看起来像这样:

$showMapper
  ->add('items', null, [
    'action' => 'show',
  ])
;

这显然行不通。

另外,如果有人可以指出我的文档,其中列出了 $fieldDescroptionOptions 可能的键值对,那将非常有帮助。

【问题讨论】:

【参考方案1】:

不确定是否有该部分的文档,但要更改路线,选项应该是这样的:

->add('items', null, ['route' => ['name' => 'show']])

在模板中查找:

admin-bundle\src\Resources\views\CRUD\Association\list_one_to_many.html.twig

【讨论】:

我明白了。它在generateObjectUrl 方法中。非常感谢您的帮助。恐怕我无法很好地遵循这一点。

以上是关于Sonata Admin:显示动作而不是编辑的一对多路线的主要内容,如果未能解决你的问题,请参考以下文章

Sonata Admin:添加自定义触发器/动作到列表/编辑动作

Symfony / Sonata Admin:编辑表单上的列表表单

Sonata Admin Bundle:按计数一对多关系排序

Sonata Admin Bundle 一对多关系不保存外国 ID

Sonata Admin + 在列表视图中显示所有项目(不是每页)

Symfony Sonata Admin 仅将属性显示为只读文本