dongyu1918
2015-06-10 16:42
浏览 54
已采纳

表格Symfony 2.3订阅

I am doing a form with Symfony 2.3 to suscribe to a newsletter. The form is working good in is own template (newsletter.html.twig).

My controller action:

public function newsletterAction(Request $request)
{
    $newsletter = new Newsletter();

    $form = $this->createFormBuilder($newsletter)
        ->add('email', 'email')
        ->add('submit', 'submit')
        ->getForm();

    $form->handleRequest($request);

    if ($form->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($newsletter);
        $em->flush();

        $request->getSession()->getFlashBag()->add('notice', 'Vous venez de    vous enregistré à la Newsletter d\'Emoovio.');
    }
    return $this->render('MyBundle:Global:newsletter.html.twig', array(
        'form' => $form->createView(),
    ));
}

My template where it's working (newsletter.html.twig) :

{{ form(form) }}

My template where it does not work (index.html.twig):

////
{% render (controller("EmooviofrontBundle:Global:newsletter")) %}
////

The form is display but it's not working. May be is miss something. Has anyone had the same problem and could explain me. Thank you.

图片转代码服务由CSDN问答提供 功能建议

我正在用Symfony 2.3做一个表格来订阅时事通讯。 表单在自己的模板中工作正常(newsletter.html.twig)。

我的控制器操作:
  public function newsletterAction  (请求$ request)
 {
 $ newsletter = new Newsletter(); 
 
 $ form = $ this-> createFormBuilder($ newsletter)
  - > add('email','email')  
  - > add('submit','submit')
  - > getForm(); 
 
 $ form-> handleRequest($ request); 
 
 if($ form->  isValid()){
 $ em = $ this-> getDoctrine() - > getManager(); 
 $ em-> persist($ newsletter); 
 $ em-> flush(); \  n 
 $ request-> getSession() - > getFlashBag() - > add('notice','Vous venez devousenregistréàlaNewsletter d \'Emoovio。'); 
} 
返回$  this-> render('MyBundle:Global:newsletter.html.twig',array(
'form'=> $ form-> createView(),
)); 
} 
   
 
 

我的模板在哪里工作(newsletter.html.twig):
  {{form(form)}} 
 <  / code>  
 
 

我的模板在哪里 它不起作用(index.html.twig):
  //// 
 {%render(controller(“EmooviofrontBundle:Global:newsletter”))%} \  n //// 
   
 
 

表单显示但不起作用。 可能是错过了什么。 有没有人有同样的问题,可以解释我。 谢谢。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题