13

同じオブジェクトを「編集/更新」するのと同じフォームを使用して、オブジェクトを「プレビュー」します。私showAction()のコントローラーには、次のコードがあります。

$form = $this->createForm(new SalesEntityType($entity), $entity, array('read_only' => true) );

このコードはプライマリフォームに最適ですが、インクルードによってこれの一部となるサブフォームがいくつかあります。show.html.twigの1つの例は次のとおりです。

{% include 'TargetCommonBundle:Hours:hoursForm.html.twig' with { form: hours } %}

残念ながら、親フォームのread_only設定は、含まれているサブフォームにカスケードされていないようです。これを処理する方法はありますか?

4

2 に答える 2

18

試す:

$form = $this->createForm(
    new SalesEntityType($entity),
    $entity,
    [ 'disabled' => true ]
);

参照:vendor / symfony / symfony / src / Symfony / Component / Form / CHANGELOG.md、最初の行

于 2012-12-10T17:30:01.053 に答える
2
// It is the way more fast to disabled a form
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->setDisabled(true);
}    
于 2015-09-02T15:00:18.897 に答える