当我像这样设置我的表单类型文件时:
$builder->add( 'producer', new ProducerType() );
它总是为我返回嵌入表单的一般标题(标签),例如“生产者”,我如何删除或自定义此标签?
更新:最新的 Fosuserbundle 已删除这个恼人的标签
当我像这样设置我的表单类型文件时:
$builder->add( 'producer', new ProducerType() );
它总是为我返回嵌入表单的一般标题(标签),例如“生产者”,我如何删除或自定义此标签?
更新:最新的 Fosuserbundle 已删除这个恼人的标签
删除标签的正确(?)方法是将其设置为false
.
$builder->add( 'producer', new ProducerType(), array( 'label' => false ));
然后标签根本不会被渲染。尽管目前文档中以某种方式缺少它,但您可以通过查看默认的树枝表单样式(第 3 行)来重构此行为:
{% block form_label %}
{% spaceless %}
{% if label is not sameas(false) %}
{% if not compound %}
{% set label_attr = label_attr|merge({'for': id}) %}
{% endif %}
{% if required %}
{% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %}
{% endif %}
{% if label is empty %}
{% set label = name|humanize %}
{% endif %}
<label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>{{ label|trans({}, translation_domain) }}</label>
{% endif %}
{% endspaceless %}
{% endblock form_label %}
这些树枝样式也是表单定制的一个很好的开始。更多关于这个主题的信息可以在这个食谱条目中找到。
you can try adding a label as an option, depending on what options ProductType is inheriting this may be enough.
$builder->add('producer', new ProducerType(), array('label' => 'Some Label'));
To avoid fighting with formbuilder, you can disable labels using css.
<style>
table.record_properties td label {
display: none;
}
</style>
<form action="{{ path('equipment_update', { 'id': entity.id }) }}" method="post" {{ form_enctype(edit_form) }}>
<table class="record_properties" style="text-align: left;width: 500px;">
<tbody>
<tr>
<th>{% trans %}title{% endtrans %}</th>
<td> </td>
<td>{{ form_row(edit_form.title) }}</td>
</tr>
...
要获得一个空的嵌入表单标签,请尝试添加一个空的(一个空格字符)标签属性
$builder->add( 'producer', new ProducerType(), array('label' => ' '))
结果如下:
<div id="producer">
<div>
<label class=" required"></label>
<div id="mainEntityName_producer">
<div>
<label.../>
<input.../>
</div>
</div>
</div>
</div>