2017-11-22 14 views
0

私は、後続のエンティティを持つmanyToToを持つエンティティを持っています。親の編集ページには、2列のレイアウトがあります。右側では、コレクションに現在リンクされているエンティティをリストし、新しいエンティティを作成してリンクするか、既存のリンクをリンクするために「新しい」ボタンを追加したいと思います。Sonata admin bundle現在のエンティティに新しいmanyToOneエンティティを追加します。

私はコレクションを使用して見ていますが、私はそれが子供の名前を表示するように書式を設定するようです。

enter image description here 私はトピックを印刷するのに「ヘルプ」を使用しますが、新しいボタンを追加することはできません。上のスクリーンショットは、私が何を意味しているのか少しを示しています。フォーム全体をレンダリングしています。

答えて

0

キー「btn_add」を3番目のパラメータに「新規」に追加することをテストすることができますか?

->add('topics', 'sonata_type_collection', array('btn_add' => "New"))

またはあなたのルート/トピックに作成/必ずあなたの子エンティティのために利用できるのですか?

+0

これはうまいですが、理想的には私がちょうどtopic.nameを表示したいとき、フォーム全体を表示するのは理想的ではありません – Andy

+0

そしてフォームから他のフィールドを削除し、あなたの親の 'addTopic'関数? – fbaudet

+0

私は管理者の別の部分のためのすべてのフィールドを持つフォームが必要です。私はおそらく、この解決策で間違った木を吠えていると思う。私は戻って行くつもりだと私は何をしたいかについて別の考えを持っています。しかし、ありがとう。 – Andy

0

また、埋め込み管理者の親管理者は何を確認し、管理者でない場合はtopic.nameだけを含むフィールドを追加することもできます。

if ($this->getRoot()->getClass() != 'Your\Parent\Class\Containing\Topic\Name') { 
$formMapper->add(...); // all fields for 'full' view going here 
} 

必要なフィールドに注意してください。あなたがそれらを記入しなければ、そうでなければ記入しなければ、あなたはセーブ時にエラーを得るだろう。

関連する問題