コレクションフォームフィールドのアイテムにカスタムグローバルテンプレートを追加することは可能ですか?symfony2のカスタムコレクションテンプレート
コレクションテンプレート自体をカスタマイズするのではなく、コレクションに含まれる各オブジェクトに特定のクラスまたはマークアップを追加するなど、コレクション内の各オブジェクトのレンダリングをカスタマイズしたいと思います。
私はコレクションのフィールドを持つフォームを持っているが、このようにコメントを追加しました:
$builder
->add('items', 'collection', array(
'type' => new ItemType(),
'allow_add' => true,
'allow_delete' => true,
'prototype' => true
));
は、私は(とりわけ)コレクション内の各項目に、「削除」ボタンを追加するには、小枝のテンプレートを定義します。
コレクションをカスタマイズするための 'collection_widget'テンプレートがあることがわかりました。これは、コレクション自体のためだけであり、個々のアイテムではありません。
注1:すべてのフォームのすべてのコレクションでこれを行うにはグローバルテンプレートを使用する必要がありますが、私は各フォームテンプレートでこれを解決できますが、それは重要ではありません。
注2:これまではjqueryでこれを解決しました。collection_widgetにクラスを追加し、jqueryを持つすべての子にボタンを追加しました。これは今のところうまく動作しますが、jqueryの処理をすべて行うことなく、100%のテンプレートソリューションを探しています。理想的には、新しい項目を追加するための行プロトタイプでも機能するはずです。