当我建立了我的formtype文件是这样的:删除或自定义嵌入式表单标签
$builder->add('producer', new ProducerType());
,它总是返回我总标题(标签)为嵌入式形式,如“生产者”,我怎么能删除或自定义此标签?
UPDATE:最新Fosuserbundle已被删除此恼火拉布勒
当我建立了我的formtype文件是这样的:删除或自定义嵌入式表单标签
$builder->add('producer', new ProducerType());
,它总是返回我总标题(标签)为嵌入式形式,如“生产者”,我怎么能删除或自定义此标签?
UPDATE:最新Fosuserbundle已被删除此恼火拉布勒
你可以尝试添加一个标签作为一个选项,这取决于选项ProductType为继承,这可能是不够的。
$builder->add('producer', new ProducerType(), array('label' => 'Some Label'));
为了得到一个空的嵌入表单标签尝试添加一个空的(一个空格字符)的标签属性
$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>
为了避免战斗与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>
...
正确的(?)删除标签的方法是将其设置为false
。
$builder->add('producer', new ProducerType(), array('label' => false));
然后标签将不会被渲染。 Altough它以某种方式在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。
谢谢,我知道了,怎么样删除它或添加一些装饰器呢?像
– luxury还有'label_render',你可以设置为false。任何比这更先进的事情,你需要开始修改枝条模板 – MDrollette
没有工作,没有这样的选择,我使用的版本2.1。* – luxury