【发布时间】:2017-07-20 15:34:39
【问题描述】:
我有一个非常简单的问题,我认为它也很常见。我的奏鸣曲管理员 configureFormFields 函数如下所示:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('status', 'sonata_type_model', array(
'required' => true,
'btn_add' => false,
'expanded' => true,
)
->add('activeReason', 'hidden')
->add('inactiveReason', 'hidden')
->add('onHoldReason', 'hidden')
;
}
“状态”实体定义了 __toString() 方法,其值为:
- 活动
- 无效
- 按住
我想要的是,如果我从状态中选择“Active”,则应该显示“activeReason”表单字段,而选择“Inactive”将隐藏其他 2 个原因字段并仅显示“inactiveReason”字段和所以使用 Hold 选择(它会隐藏其他 2 个并只显示 'onHoldReason' 表单字段)。
我知道可以使用自定义 jQuery 函数,但是有 SONATA ADMIN WAY 或 SYMFONY WAY 吗?我很清楚奏鸣曲形式类型sonata_type_choice_field_mask 必须有一系列选择。有什么办法可以结合这个功能或做类似的事情吗?
【问题讨论】:
标签: symfony sonata-admin symfony-sonata sonata symfony-3.2