(ユーザが0、1、2または3を完了することができます)私は3つのフォームのページを持っており、それらはすべてが独立している:同じページに3つのフォームを扱うにはどうすればいいですか?
- ユーザーが呼ばれることを望んでいる場合は、最初に電話番号を要求します。
- ユーザーがSMSに連絡したい場合は、2番目の操作は同じです。ユーザーがこの状況に対処するための最良の方法は何解説
を追加したい場合は
私は私のコントローラに私のコード3回繰り返すべきでしょうか?
小枝でpublic function myPageAction(Request $request)
{
// First one
$form = $this->createFormBuilder()
->add...
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// some code
}
// Second one
$form2 = $this->createFormBuilder()
->add...
->getForm();
$form2->handleRequest($request);
if ($form2->isSubmitted() && $form2->isValid()) {
// some code
}
// Third one
$form3 = $this->createFormBuilder()
->add...
->getForm();
$form3->handleRequest($request);
if ($form3->isSubmitted() && $form3->isValid()) {
// some code
}
}
そして:
私は、ユーザーがクリックする=最初のもののためのモーダルを持っていると、フォームでのモーダルがポップアップ表示さ:
このため同じ{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}
1つ、他のモーダル:
{{ form_start(form2) }}
{{ form_widget(form2) }}
{{ form_end(form2) }}
は三番目は、ページの一番下にある:
{{ form_start(form3) }}
{{ form_widget(form3) }}
{{ form_end(form3) }}
私はそれが多くのコードだと思うし、私はあまり自分自身を繰り返して、私が何を「最適化」することができますか? 私の第一のフォームと第二のフォームが同じであるという事実は、それらを「再グループ化」することができますか?私は "PhoneType"フォームを作成することができますが、コントローラで2回呼び出す以外の方法はありませんか?
申し訳ありませんが、ここで多くの質問がありますが、このように要約できます:同じページで複数のフォームを処理するベストプラクティスは何ですか?
私は自分の質問を編集しますが、フォームは同時に表示されません。最初のものはモーダル、2番目は同じ、3番目は下にあります。ユーザーは、同じページ上で0,1,2,3のフォームを完成させることができ、それらは互いに依存しません –
これらは一度にすべて有効である必要はありません。 – eRIZ