Symfony 4.1 2 формы - PullRequest
       0

Symfony 4.1 2 формы

0 голосов
/ 19 октября 2018

Я использую последнюю версию Symfony 4.1

На моей домашней странице у меня есть 2 формы.это тот же самый.но в другом месте.

один сверху, а другой снизу.

Так что до сих пор я создавал фабрику с Name builder

    # form top
    $form1 = $this->get('form.factory')->createNamedBuilder('order_form', ContactType::class)->getForm();
    $form1->handleRequest($request);
    if ($form1->isSubmitted() && $form1->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($form1->getData());
        $em->flush();
        $this->addFlash('notice', 'message');
    }
    # form layout
    $form2 = $this->get('form.factory')->createNamedBuilder('quick_contact', ContactType::class)->getForm();
    $form2->handleRequest($request);
    if ($form2->isSubmitted() && $form2->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($form2->getData());
        $em->flush();
        $this->addFlash('notice', 'message');
    }
    return $this->render('Site/HomePage.html.twig', ['form1' => $form1->createView(), 'form2' => $form2->createView()]);
}

есть еще один хорошийрешение сделать это на Symfony 4.1?

Может быть, изменить форму на службу и позвонить из ветки?

Я понятия не имею, как сделать это лучше.

спасибо!

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете сделать это следующим образом:

public function HomePage(Request $request)
{
    # form top
    $form = $this->createForm(ContactType::class);
    $form->handleRequest($request);
    if ($form->isSubmitted() && $form->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($form->getData());
        $em->flush();
        $this->addFlash('notice', 'message');
    }
    return $this->render('Site/HomePage.html.twig', ['form' => $form->createView(), 'form2' => $form->createView()]);
}

На веточке:

Форма 1:

{{ form_start(form) }}
{{ form_end(form) }}

Форма 2:

{{ form_start(form2) }}
{{ form_end(form2) }}

Проверено на моем Symfony.

работает без проблем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...