2017-07-20 25 views
2

私は非常に単純な問題があり、それはまた非常に一般的だと思います。私のソナタ管理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()メソッドを持っており、値は以下のとおりです。

アクティブ
  • 非アクティブ
ホールド

ステータスから「アクティブ」を選択すると、「activeReason」フォームフィールドが表示されます。 easは、他の2つの理由フィールドを隠し、 'inactiveReason'フィールドだけを表示し、Holdオプションで他の2つのフィールドを隠し、 'onHoldReason'フォームフィールドを表示します。

カスタムjQuery関数では可能ですが、SONATA ADMIN WAYやSYMFONY WAYはありますか?私はかなりのソナタ形式のタイプsonata_type_choice_field_maskの選択肢の配列を持っている必要があります認識しています。この機能を組み合わせたり、このようなタイプのものを実行する方法はありますか?

答えて

0

あなたはこのソナタタイプで行うことができます。彼は同じ問題を持っていたし、それを解決し、このリンクを見て:

SonataAdmin - sonata_type_choice_field_mask

+0

こんにちは、 あなたの答えをありがとう。しかし、私はあなたが私の主なポイントを得ていないと思う。私は 'choise_filed_mask'を使うことはできません。私の選択の値はエンティティの値から来て、結果を得るために' sonata_type_model'を使わなければならないからです。 –

関連する問題