我正在使用Sonata管理包,并且我有嵌入式管理员。子实体以表结构的形式列出。我已经删除了儿童管理员的删除路由。但是,当嵌入子项时,仍然会出现删除复选框。
即我有一个产品表和一个价格表。我将价格表嵌入到产品表中。在价格表中,我可以删除删除按钮。但是,嵌入时,删除复选框将显示在产品表中,如果选中并更新,该行将被删除。你们中的任何人都可以帮我删除删除复选框..??提前致谢
类型选项可以为嵌入式管理员完成这项工作,如下所示。
$formMapper
->add('field_name', 'sonata_type_collection',
array('type_options' => array('delete' => false)),
array(
'edit' => 'inline',
'inline' => 'table'
))
;
最初的答案对我不起作用(可能是因为较新的Sonata Admin版本)。这就是对我有用的:
->add(
'field_name',
CollectionType::class,
[
'required' => false,
'type' => AdminType::class,
'type_options' => [
'delete' => false
]
],
[
'edit' => 'inline',
'inline' => 'table',
'admin_code' => 'admin.entity'
]
)
在您的
管理员类中,您可以尝试:
$formMapper
->remove('_delete')