当我设置我的formtype文件时:
$builder->add( 'producer', new ProducerType() );
它总是给我一个嵌入式表格的通用标题(标签),比如“制作人”,我该如何删除或自定义这个标签?
更新:最新的Fosuserbundle已被删除这个恼人的标签
答案 0 :(得分:9)
删除标签的正确方法是将其设置为false
。
$builder->add( 'producer', new ProducerType(), array( 'label' => false ));
然后根本不会渲染标记。虽然目前在documentation中已经遗漏了某些东西,但您可以通过查看默认树枝form styles(第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 %}
这些树枝样式也是表单自定义的一个很好的开始。有关此主题的更多信息,请参阅此cookbook entry。
答案 1 :(得分:3)
您可以尝试添加标签作为选项,具体取决于ProductType继承的选项,这可能就足够了。
$builder->add('producer', new ProducerType(), array('label' => 'Some Label'));
答案 2 :(得分:0)
要获取空的嵌入表单标签,请尝试添加空(一个空格字符)标签属性
$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>
答案 3 :(得分:0)
为避免与formbuilder打架,您可以使用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>
...