Symfony 的表单是不可链接的吗?
Are Symfony's forms not linkable?
我正在使用 Symfony2 框架开发一个轻型应用程序。
因此,我需要创建一个没有实体的 link 表单;因为我要填写的实体不适用于表单。
有什么想法吗?
谢谢大家!
是的,Symfony 支持未链接到实体的表单,以下代码片段显示了您如何无法创建未绑定到实体的联系表单。
public function indexAction(Request $request)
{
$form = $this->createFormBuilder()
->setAction($this->generateUrl('contact_route'))
->setMethod('POST')
->add('name', 'text')
->add('email', 'email')
->add('phone', 'text')
->add('message', 'textarea')
->add('submit', 'submit', array('label' => 'SUBMIT'))
->getForm()
;
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$message = \Swift_Message::newInstance()
->setSubject(''.$form->get('name')->getData() ." ". $form->get('phone')->getData())
->setFrom($form->get('email')->getData())
->setTo('email@ehost.com')
->setBody(''.$form->get('email')->getData().' '.$form->get('message')->getData());
$this->addFlash('notice','Thank you, we will contact you soon!');
$this->get('mailer')->send($message);
return $this->redirect($this->generateUrl('contact_route'));
}
return $this->render('BundleName:Contact:index.html.twig',array('form' => $form->createView(),));
}
这个link对解决问题很有用:
http://symfony.com/doc/current/book/forms.html#using-a-form-without-a-class
感谢大家的回答!
我正在使用 Symfony2 框架开发一个轻型应用程序。
因此,我需要创建一个没有实体的 link 表单;因为我要填写的实体不适用于表单。
有什么想法吗?
谢谢大家!
是的,Symfony 支持未链接到实体的表单,以下代码片段显示了您如何无法创建未绑定到实体的联系表单。
public function indexAction(Request $request)
{
$form = $this->createFormBuilder()
->setAction($this->generateUrl('contact_route'))
->setMethod('POST')
->add('name', 'text')
->add('email', 'email')
->add('phone', 'text')
->add('message', 'textarea')
->add('submit', 'submit', array('label' => 'SUBMIT'))
->getForm()
;
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$message = \Swift_Message::newInstance()
->setSubject(''.$form->get('name')->getData() ." ". $form->get('phone')->getData())
->setFrom($form->get('email')->getData())
->setTo('email@ehost.com')
->setBody(''.$form->get('email')->getData().' '.$form->get('message')->getData());
$this->addFlash('notice','Thank you, we will contact you soon!');
$this->get('mailer')->send($message);
return $this->redirect($this->generateUrl('contact_route'));
}
return $this->render('BundleName:Contact:index.html.twig',array('form' => $form->createView(),));
}
这个link对解决问题很有用:
http://symfony.com/doc/current/book/forms.html#using-a-form-without-a-class
感谢大家的回答!