私はsymfonyでフォームをオーバーライドしようとしています。サードパーティのバンドルは、これは、サードパーティのバンドルですprivate-message-bundle : firediyサードパーティバンドルフォームをオーバーライドする方法 - symfony
あるフォーム:
$builder
->add('recipients', null, array(
'label' => 'form.recipients',
'translation_domain' => 'FDPrivateMessageBundle',
))
->add('subject', null, array(
'label' => 'form.subject',
'translation_domain' => 'FDPrivateMessageBundle',
))
->add('firstMessage', PrivateMessageType::class, array(
'label' => false,
));
->add recipients
一部は、すべてのユーザーを返し、私はそれらのいくつかを選択するようにするためにそれらを示しています。私はバンドルにデフォルトで1つの受信者を与えることができるようにしたい。私はForm
下のクラスConversationType
を作成しようとしましたし、次のコード書いている:
$builder->add('recipients', EntityType::class, array(
'class' => 'AppBundle:User',
'multiple' => true,
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->where('u.id', $id);
},
.....
));
をしかし、私は作っ何も変更が行われていないため、クラスは、バンドルをオーバーライドしているとは思いません。
これを行う正しい方法は何ですか?私の質問が十分明確でない場合は、私に知らせてください。 お時間をいただきありがとうございます。
バンドルはフォームをオーバーライドする手段を提供するので、簡単に行うことができます。完全なConversationTypeクラスをコピーして貼り付けることはできますか? – Strnm
私は@ Strnmを試しました。変更は行われません。私は自分の投稿した内容に基づいて – maestro
を明確にするために質問を編集しました。私はあなたにあなたのConversationTypeクラスとservices.ymlの完全な内容であなたの質問を更新してください。 – Strnm