在 TWIG 中自定义表单呈现 {{ form(form)}} 与 {{ form_widget(form) }}
Customize form rendering {{ form(form)}} vs. {{ form_widget(form) }} in TWIG
我正在尝试在 Symfony 中自定义表单呈现 (http://symfony.com/doc/current/cookbook/form/form_customization.html)。我设法自定义了 "text" 小部件,但无法自定义 "submit" 小部件。我一直在以多种方式调试这个问题,结果遇到了以下(更简单的)障碍:
我的控制器非常标准,看起来像这样:
$user = new user();
$form = $this->createFormBuilder($user)
->add('name','text')
//other text items...
->add('save','submit', array('label'=> 'Signup'))
$form->handleRequest($request);
if($form->is Valid()) {
//render the template...
}
现在,如果我使用
在 TWIG 中呈现表单
{{ form(form) }}
一切正常(表单已提交)。但是如果我把它改成:
{{ form_widget(form) }}
"submit" 按钮没有提交任何东西(我猜这意味着要么按钮没有触发任何东西,要么我的表单不知何故不再有效)。
Symfony 文档 http://symfony.com/doc/current/cookbook/form/form_customization.html 似乎声明这两者应该以相似的方式呈现表单。谁能就此问题的来源提供一些指导?最终,当我尝试使用 {{ form_widget(form.save) }} 自定义 "submit" 按钮时,我遇到了同样的问题。谢谢。
The Symfony Best Practices book 说“最佳实践:
在模板中添加按钮,而不是在表单 类 或控制器中。"
我正在尝试在 Symfony 中自定义表单呈现 (http://symfony.com/doc/current/cookbook/form/form_customization.html)。我设法自定义了 "text" 小部件,但无法自定义 "submit" 小部件。我一直在以多种方式调试这个问题,结果遇到了以下(更简单的)障碍:
我的控制器非常标准,看起来像这样:
$user = new user();
$form = $this->createFormBuilder($user)
->add('name','text')
//other text items...
->add('save','submit', array('label'=> 'Signup'))
$form->handleRequest($request);
if($form->is Valid()) {
//render the template...
}
现在,如果我使用
在 TWIG 中呈现表单{{ form(form) }}
一切正常(表单已提交)。但是如果我把它改成:
{{ form_widget(form) }}
"submit" 按钮没有提交任何东西(我猜这意味着要么按钮没有触发任何东西,要么我的表单不知何故不再有效)。
Symfony 文档 http://symfony.com/doc/current/cookbook/form/form_customization.html 似乎声明这两者应该以相似的方式呈现表单。谁能就此问题的来源提供一些指导?最终,当我尝试使用 {{ form_widget(form.save) }} 自定义 "submit" 按钮时,我遇到了同样的问题。谢谢。
The Symfony Best Practices book 说“最佳实践: 在模板中添加按钮,而不是在表单 类 或控制器中。"