4

当我像这样设置我的表单类型文件时:

$builder->add( 'producer', new ProducerType() );

它总是为我返回嵌入表单的一般标题(标签),例如“生产者”,我如何删除或自定义此标签?

更新:最新的 Fosuserbundle 已删除这个恼人的标签

4

4 回答 4

9

删除标签的正确(?)方法是将其设置为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 %}

这些树枝样式也是表单定制的一个很好的开始。更多关于这个主题的信息可以在这个食谱条目中找到。

于 2013-04-04T15:09:11.290 回答
3

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'));
于 2012-06-25T03:19:27.990 回答
0

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>&nbsp;</td>
            <td>{{ form_row(edit_form.title) }}</td>
        </tr>
...
于 2012-09-26T01:44:25.743 回答
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>
于 2012-07-03T08:11:13.190 回答