2
$builder->add('body','text',array('label' => FALSE)//default label is displayed
$builder->add('body','text',array('label' => '')//default label is displayed
$builder->add('body','text',array('label' => 0)//default label is displayed
$builder->add('body','text',array('label' => ' ')//empty label is displayed

但我不需要渲染label标签。我form_widget(form)在视图中使用 a ,但不能使用 aform_row(form.field1) ... form_row(form.field25)来显示表单。我只想使用 FormBuilder 删除标签。这是可能的?

4

4 回答 4

7

您可以使用自己的 twig-file 为您的字段扩展默认表单布局,如下所示:

<!-- import default layout from symfony -->  
{% use 'form_div_layout.html.twig' with field_label as base_field_label %}

<!-- overwrite the element you want to change (in this case default input-field -->
{% block field_row %}
    {% spaceless %}
        <div class="row">
            <!-- removing this line, you're nearly done -->
            {{ form_label(form) }}
            {{ form_widget(form) }}
        </div>
    {% endspaceless %}
{% endblock field_row %}

然后在呈现表单的 twig 文件中设置这个新的表单主题:

{% form_theme form 'VendorNameBundle:Folder:backend_fields.html.twig' %}

差不多就是这样。

如果您想知道所有默认值是什么,请查看存储库中的这个文件:form_div_layout.html.twig

于 2012-08-17T14:11:56.737 回答
3

我刚刚用 sf2.4.6测试了这个工作解决方案:

$builder->add('body','text',array('label' => false);

这个解决方案比

label => ' '

这只是渲染一个空间。此外,您无需将渲染拆分为 form_widget 和 form_label 以最终删除 form_label。

于 2015-02-24T19:59:06.013 回答
2

更好的解决方案是:

[..Type.php]

$builder
            ->add('email', EmailType::class ) //will display default label
            ->add('username', TextType::class,
                array(
                    'label' => false,
                    'attr' => array(
//                      'class' => 'myclassfrom.css', //<- this one is realy avesome
                        'placeholder' => 'UsernameExample',
                        'autofocus' => '',

                    ),
            ))

你所需要的只是把你的相关树枝

 {{ form_start(form) }}
                        {{ form_row(form.username) }}
 {{ form_end(form) }}
于 2016-12-22T19:07:39.170 回答
0

我的表单中有一组集合字段(集合内的集合)。我对带有集合字段的条目标签有疑问。对于集合的每个条目,标签会自动生成为 [0]、[1]、... [N]。我唯一需要做的就是在模板中添加空白标签块:

{% form_theme form _self %}

{% block _myformname_person_entry_label %}
{% endblock _myformname_person_entry_label %}

{% block _myformname_person_entry_adress_entry_label %}
{% endblock _myformname_person_entry_adress_entry_label %}

这不会覆盖模板或构建器类中 {% block _myformname_person_row %}、{% block _myformname_person_widget %} 或 {% block _myformname_person %} 块中指定的任何标签:

$builder->add('person', 'collection', array(
'type' => new PersonType(),
'label' => 'List of Employees:')

在 Symfony 2.3 版上测试

于 2014-11-27T20:50:23.277 回答