我知道您可以通过在show视图中引用child.field的点来在sonata admin中添加子视图的字段,但这仅适用于一对一关系。我有一个父母 - 多孩子的关系。 这不起作用:
<?php $showMapper->add('child', 'sonata_type_model',array(), array(
'edit' => 'inline',
'inline' => 'table',
))
虽然它对formMapper非常有用。你怎么这么做的?如果是通过树枝视图,请举个例子。
答案 0 :(得分:1)
对于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'));