3
有人知道如何在一个页面中呈现更多表单吗?Symfony 2 - 多个表单
我有一个实体类ImportPath:id。描述,路径,本地 和对应于该实体的ImportPathForm。 我想要的是像表格这样的小东西,它在每一行中都有一点小小的形式,可以编辑其中的一个路径。
我不知道路径的最终数量,所以它在一些循环中必须是动态的。 需要从路径ID中知道需要的表单(尚未实现)。
代码: 控制器: 公共函数importAction($消息= “没有消息”){
$em = $this->getDoctrine()->getEntityManager();
$paths = $em->getRepository('WT2\BabuBundle\Entity\ImportPath')->findAll();
$forms=array();
foreach ($paths as $path) {
$form = $this->createForm(new ImportPathForm(), $path);
$forms[]=$form;
}
// $request = $this->getRequest();
// if ($request->getMethod() == 'POST') {
// $form->bindRequest($request);
// if ($form->isValid()) {
// /* ok */
// }
// }
return $this->render('WT2BabuBundle:Admin:import.html.twig', array('forms'=>$forms,'message'=>$message));
}
视图(提取物):
{% for key, form in forms %}
{{ key }}
<form action="{{ path('admin_import') }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
<input type="submit" value="Ym2nit" />
</form>
{% endfor %}
EDIT>
我明白了:)
的解决方案是
$forms=array();
foreach ($paths as $path) {
$form = $this->createForm(new ImportPathForm(), $path);
**$form = $form->createView();**
$forms[]=$form;
}
我知道这个网站的工作,但我有小于100的声誉,不能回答我自己询问8小时后问... – 2012-04-14 16:03:47
没问题,现在我可以发布一个解决方案的答案框:) – 2012-04-15 07:47:59