Php 为什么symfony2表单参数被忽略?

Php 为什么symfony2表单参数被忽略?,php,symfony,twig,Php,Symfony,Twig,我有一个嵌入的表单,我想建立在我的视图上。问题是,twig为我不想要的每一种嵌入式形式“教育”创建了一个流氓标签。所以我试着通过 $builder->add('education','collection',array( 'type' => new CareEducationForm(), 'allow_add' => true, 'allow_delete' => true, 'label' =&g

我有一个嵌入的表单,我想建立在我的视图上。问题是,twig为我不想要的每一种嵌入式形式“教育”创建了一个流氓标签。所以我试着通过

    $builder->add('education','collection',array(
        'type' => new CareEducationForm(),
        'allow_add' => true,
        'allow_delete' => true,
        'label' => false));

然而,标签仍在制作中。为什么会发生这种情况?

问题是您正在获取集合元素本身的标签

我使用自定义主题,所以我使用的解决方案是在集合本身的每个元素上调用form_小部件,而不是*form_小部件(form.education)*


您还可以为collection\u widget创建一个自定义widget,如果您愿意,它也可以执行相同的任务。

我正在使用symfony 2.3有没有办法摆脱该功能?这是一个可怕的特性,对我来说,它把很多事情都搞糟了。在重新阅读您的问题后,我意识到您希望在嵌入表单时去掉标签。这是否有效:
$builder->add('education',new EducationType(),array('label'=>false))在何处包含/嵌入类型?是否为CareEducationForm定义了自定义主题?嗯,我确实成功了。但不幸的是,我不得不使用你提到的自定义主题。我只是在重复,希望我能避免做任何形式的定制主题。我花了很多时间试图找到一个更优雅的解决方案。请用你的模板解决方案更新你的答案。@stefancarlton所展示的正是你想要的。这不是定制主题。顺便说一句,label属性用于设置label元素的文本值。这解释了为什么将其设置为false没有帮助。如果这样做可能会很好。@Cerad实际上应该在版本2.2中起作用:“设置呈现字段时将使用的标签。设置为false将抑制标签。”。另见。还是我在这里遗漏了什么?
{% for edu in form.education %}
    {{ form_widget(edu) }}
{% endfor %}