Не могу отправить контактную форму в Symfony 2

Я пытаюсь отправить контактную форму в Symfony2, но у меня есть ошибка:

Variable "form" does not exist in VputiMainBundle:Main:contact.html.twig at line 20

Вот мой контроллер:

public function contactAction(Request $request)
{
$form = $this->createForm(new ContactType());
$formView = $form->createView();
$form->handleRequest($request);

if ($form->isValid()) {
$message = \Swift_Message::newInstance()
->setSubject($form->get('subject')->getData())
->setFrom($form->get('email')->getData())
->setTo('mail.com.deu')
->setBody(
$this->renderView(
'VputiMainBundle:Main:contact.html.twig',
array(
'ip'      => $request->getClientIp(),
'name'    => $form->get('name')->getData(),
'message' => $form->get('body')->getData()
)
)
);
if ($this->get('mailer')->send($message)) {
$this->get('session')->getFlashBag()->add('message_send', 'thanks!');
} else {
$this->get('session')->getFlashBag()->add('send_error', 'error!');
}
}

return $this->render('VputiMainBundle:Main:contact.html.twig', array('form' => $formView));
}

Где моя проблема, что я делаю не так?

0

Решение

Вы используете один и тот же шаблон как для отображения формы для отправки запроса на контакт, так и для основной части письма. Обратите внимание на два VputiMainBundle:Main:contact.html.twig, Если форма верна, она пытается отобразить contact.html.twig который нуждается в form переменная, очевидно.

Создайте новый шаблон для тела письма, которое не зависит от вида формы.

1

Другие решения

Других решений пока нет …