2012-12-09 14 views
11

同じオブジェクトを「プレビュー」するのと同じフォームを使用して、同じオブジェクトを「編集/更新」しています。symfony2フォームを無効にする

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

このコードは、主なフォームのための素晴らしい作品が、包含することにより、この部分を作っているサブフォームの数があります。私は、次のコードを持っているコントローラのための私のshowAction()で 。 show.html.twigでの一つの例は次のとおりです。

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

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

+0

それはREAD_ONLYと思われますメインフォームと同様にサブフォームで正常に動作します。メインフォームまたはサブフォームのドロップダウンリストのいずれも変更できなくなっているだけです。どんな助けもありがたい。 – Cosmtar

+0

read_only変数をwith文に追加できますか?つまり、:{form:hours、read_only:read_only} – lifo

+0

を試してみてください:$ form = $ this-> createForm(新しいSalesEntityType($ entity)、$ entity、array( 'disabled' => true)); – Lighthart

答えて

14

試してみてください。

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

参照:ベンダー/ symfonyの/ symfonyの/ SRC/symfonyの/コンポーネント/フォーム/ CHANGELOG.md、最初の行

+1

Lighthartさん、ありがとう、チャンピオンのように働いた! – Cosmtar

2
// It is the way more fast to disabled a form 
public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->setDisabled(true); 
}  
関連する問題