如何嵌入一对多奏鸣曲管理员子视图



我知道您可以通过在显示视图中引用child.field来添加Sonata admin中子视图的字段,但这仅适用于一对一的关系。我有一个父母 - 许多 - 孩子关系。 这不起作用:

<?php $showMapper->add('child', 'sonata_type_model',array(), array(
'edit' => 'inline',
'inline' => 'table',
))

虽然它非常适合formMapper。你应该怎么做?如果是通过树枝视图,请给我一个例子。

对于ShowMapper,你只需要做$showMapper->add('child');

但是,大多数情况下它只会显示指向子对象的链接。

正如您所建议的,您也可以使用

$formMapper->add('child.field');

但它不适用于集合

若要在拥有集合时自定义呈现,可以创建自己的模板扩展SonataAdminBundle:CRUD:base_show_field.html.twig

在模板中,您的子对象将位于value变量中,您可以循环显示每个元素

然后添加指定模板的字段

$showMapper->add('children', null, array('template' =>'MyBundle:CRUD:MyCustomTemplate.html.twig'));

相关内容

  • 没有找到相关文章

最新更新