Symfony2,表单的分隔符

时间:2014-10-13 14:20:22

标签: forms symfony

我有一点问题:

我注意到当我使用这样的构建器生成表单时:

    $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')?

对不起,如果我不清楚,谢谢。

2 个答案:

答案 0 :(得分:1)

如果您需要更改渲染顺序以便首先渲染form.presentations,然后再渲染表单的其余部分,则可以执行以下操作:

{{ form(form.prestations) }}
{{ form_rest(form) }}

当你执行form_rest(form)时,它将呈现以前未呈现过的所有内容。

来自documentation

  

这将呈现尚未针对给定呈现的所有字段   形成。总是把这个放在你的表格中的某个地方是个好主意   因为它会为你渲染隐藏的字段并使你忘记的任何字段   渲染更明显(因为它会为你渲染场)。

答案 1 :(得分:0)

如果您要根据特定条件添加/删除表单的某些部分,则应使用表单事件。

请查看此处的文档 - http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html