コンテンツに関するデータ (textfield1、textfield2、bgcolor など) をエンティティ コンテンツ内の配列に格納する content というエンティティを見ています (これが最善の方法ではない場合は、私にアドバイスしてください)。
個別のエンティティ フィールドを作成するのではなく、配列に入れたい理由は、異なる「コンテンツ テンプレート」を使用するため、データ フィールドの量とタイプがテンプレートごとに異なるためです (もちろん、各テンプレートには独自のフォームビルダー; ContentXType.php、contentYType.php など)。あるコンテンツ タイプにはテキストフィールドが 1 つしかない場合もありますが、別のコンテンツ タイプには 10 のテキストフィールドがある場合もあります。最初は datafield1、datafield2 などのデザインから始めましたが、null 値がたくさん残り、あまりきれいではないことに気付きました =)
保存時に、このコンテンツの html 出力を contentRendered という別のフィールドに生成します。
編集時に、配列のさまざまなデータフィールドをさまざまなフォームウィジェットで開くことができるようにしたいと考えています。たとえば、テキストフィールドの textfield1、テキストエリアの textfield2、カラーピッカーの bgcolor (配列の 3 番目の値) などです。フォーム ウィジェット (jQuery カラー ピッカー ウィジェットでテキスト フィールドを使用すると思います)。
したがって、私の小さな問題は、エンティティ型配列がこれに最適な方法であるかどうかです。フォーム ビルダー内からでも、配列から値 1 を選択して、それを 1 つのフィールドに、値 2 を別のフォーム フィールドなどに配置できますか?
それとも、content_data という新しいエンティティを使用してリレーションを使用する必要がありますか?
それとも、使用する予定のコンテンツの種類ごとに新しいエンティティを定義し、そのコンテンツ タイプのフォームをメイン コンテンツ フォームに埋め込む方がよいでしょうか?