$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)
,我无法使用form_row(form.field1) ... form_row(form.field25)
来显示表单。我想仅使用FormBuilder删除标签。有可能吗?
答案 0 :(得分:7)
您可以使用自己的twig文件扩展默认表单布局,如下所示:
<!-- 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
答案 1 :(得分:3)
我刚用sf2.4.6测试了这个工作解决方案:
$builder->add('body','text',array('label' => false);
此解决方案优于
label => ' '
只是渲染一个空格。此外,您不需要在form_widget和form_label中拆分渲染,最终删除form_label。
答案 2 :(得分: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) }}
答案 3 :(得分: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上测试