我使用相同的表单来“预览”对象,因为我要“编辑/更新”同一个对象。
在我的showAction()
控制器中,我有以下代码:
$form = $this->createForm(new SalesEntityType($entity), $entity, array('read_only' => true) );
此代码适用于主要表单,但有许多子表单通过包含而成为其中的一部分。 show.html.twig中的一个例子是:
{% include 'TargetCommonBundle:Hours:hoursForm.html.twig' with { form: hours } %}
不幸的是,父表单上的read_only设置似乎没有级联到包含的子表单。有办法解决这个问题吗?
答案 0 :(得分:17)
尝试:
$form = $this->createForm( new SalesEntityType($entity), $entity, [ 'disabled' => true ] );
请参阅:vendor / symfony / symfony / src / Symfony / Component / Form / CHANGELOG.md,第一行
答案 1 :(得分:2)
// It is the way more fast to disabled a form
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->setDisabled(true);
}