3

エンティティの要素のリストをフォームに表示したいと思います。各要素の近くに、特定の要素をenttyから削除する削除ボタンが必要です。

私がこれをどのように行うことができるか知っていますか?

例:3つのエンティティ:Person、Affiliation、PersonAffiliations。人は0または多くの所属を持っています。その人のために10のアフィリエーションを作成し、そのうちの1つを削除したいとします。特定の人のすべての所属のリストを表示するためにフォームを作成する方法と、各所属の近くに小さな削除アイコンを表示します。このアイコンをクリックすると、この人の所属が削除されます。

4

1 に答える 1

1

フォームのコレクションを埋め込み、多くのJavascriptを使用する必要があります。Symfony2クックブックにあります!

上記のリンクで提供されているタグを使用して例に従ってください。簡単です。削除するサブフォームごとに「remove」または「x」文字列を含むアンカーを1つ配置し、Javascriptで削除を処理する必要があります。

フォームの挿入は、追加する必要のあるサブフォームのプロトタイプを使用して行われますが、挿入する必要はないようです。

この例では、に関連するフォームをレンダリングできるように、空のオブジェクトを作成し、それに事前定義されたオブジェクトのリストを追加する必要があることに注意してPersonください。次に、Javascriptを使用してサブフォームを削除できます。もちろん、一般的には専用のフォームタイプを定義する方が良いでしょう。AffiliationFormBuilderAffiliation


メインエンティティに関連するエンティティのリストの選択を解除するだけでよい場合は、エンティティフィールドタイプを使用でき、展開されたオプションを使用してチェックボックスのリストとしてレンダリングできます。コントローラーはエンティティと関連する関係をバインドするので、Symfonyは先行する関係をキャンセルします。

于 2012-11-23T13:05:21.013 に答える