假设您有ArticleAdmin
和CommentsAdmin
。在Sonata中添加一对多编辑很容易:
$formMapper->add('comments', 'sonata_type_collection',
array(
'by_reference' => false,
),
array(
'edit' => 'inline',
'inline' => 'table',
)
);
但是,假设我有更复杂的CommentsAdmin
形式,它可以有两个可视化,具体取决于其中的注释类型。我想在ArticleAdmin
中显示两个sonata_type_collection字段,用于将不同类型的注释分组到两个不同的编辑表中。
添加其他add('comments', ...)
当然是不正确的,添加add('comments2', ...)
会导致异常。
我将管理在admin中的两个字段之间分隔注释,但如何在虚拟实体字段sonata_type_collection
上创建Article::comments2
字段?如何告诉Sonata Admin它应该是什么类型的收藏?
答案 0 :(得分:1)
我不确定这对你有帮助,但是:
->add('categoryHasMedia', 'sonata_type_collection', array(
'cascade_validation' => true,
'label' => 'Logo\'s'
), array(
'edit' => 'inline',
'inline' => 'table',
'link_parameters' => array('context' => $context),
'admin_code' => 'appstrakt.project.admin.category_has_media',
))
如果我没有弄错的话,通过使用admin_code,您可以告诉您要为该sonata_type_collection使用哪个管理类。