我有一点问题:
我注意到当我使用这样的构建器生成表单时:
$builder
->add('valide')
->add('adresse', new \Acme\CoreBundle\Form\AdresseType())
->add('prestations', 'entity', array(
'class' => 'AcmeAppartBundle:Prestation',
'property' => 'nom',
'multiple' => true,
'expanded' => true)
);
'presations'字段(这是一个完整的表格)可以用这样的树枝渲染:{{ form(form.prestations) }}
我的问题是:有没有办法对表格的其余部分做同样的事情?我的意思是:{{ form(form) }}
但是没有包含{{ form(form.prestations) }}
部分。(如何在formType中定义表单的'sections')?
对不起,如果我不清楚,谢谢。
答案 0 :(得分:1)
如果您需要更改渲染顺序以便首先渲染form.presentations
,然后再渲染表单的其余部分,则可以执行以下操作:
{{ form(form.prestations) }}
{{ form_rest(form) }}
当你执行form_rest(form)
时,它将呈现以前未呈现过的所有内容。
这将呈现尚未针对给定呈现的所有字段 形成。总是把这个放在你的表格中的某个地方是个好主意 因为它会为你渲染隐藏的字段并使你忘记的任何字段 渲染更明显(因为它会为你渲染场)。
答案 1 :(得分:0)
如果您要根据特定条件添加/删除表单的某些部分,则应使用表单事件。
请查看此处的文档 - http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html