現在、開発中のシステムで他のユーザーにメッセージを送信するためのフォームを作成しています。メッセージの本文はテンプレートに基づいて作成できます。そのスクリーンショット: i.imgur.com/eFI1I.png
私の問題は、テンプレートを読み込んで新しいメッセージに適用しようとしたときに発生します。エンティティ タイプを介してテンプレートを読み込みます。コードは次のとおりです。
->add('plantillas', 'entity', array(
'class' => 'UCA\SGExaBundle\Entity\Plantilla',
'property' => 'nombre',
'expanded' => true,
'required' => false,
フォームの残りの部分はこちら: https://gist.github.com/4372276
コントローラーのコードはこちら: https://gist.github.com/4372282 (乱雑なコードで申し訳ありません。別のソリューションを適用しようとしました)
テンプレート エンティティには次のプロパティがあります。
- ID
- 名詞
- コンテニード
すべてのテンプレートは、プロパティ Nombre を示すチェックボックスのリストとしてフォームに表示されます。問題は、ユーザーがリスト内の要素の 1 つを選択 (チェックボックスをクリック) するとすぐに、選択したテンプレートからプロパティ Contenido の値を Cuerpo という名前のフィールド タイプに転送することです (URL gist. github.com/4372276)。
真実は私がアイデアを使い果たしたということです。私はボタン「Elegir Plantilla」で送信し、メッセージの FormType にリンクされている変数 mnj の値を更新することを考えていました。ただし、送信しても Body の値は更新されません。更新するには何らかの方法を適用する必要があると思いますが、どの方法かわかりません。とにかく、それは効率的な解決策ではないと思います。