1

symfony2 を 2.0.16から2.1.2更新したところ、ラベルのクラスが追加されないという問題が発生しました。

Twig テンプレートでは、次のようなフィールドを含めます。

<div class="row{% if form_errors(form.object) %} _error{% endif %}">
    {{ form_label(form.object, null, { 'attr': {'class': '_hint'} }) }}
    {{ form_widget(form.object, { 'attr': {'class': 'c6'} }) }}
</div>

デフォルトのフォーム レイアウトを拡張すると、次のようになります。

{% use 'form_div_layout.html.twig' with field_label as base_field_label %}

{% block field_label %}
    {{ block('base_field_label') }}

    {% if attr.class is defined and '_hint' == attr.class %}
        <div>
            some
        </div>
    {% endif %}
{% endblock %}

奇妙なことに、がレンダリングされるときにattr.class値が設定されます。<div>しかし、クラスはもう に追加され<label>ません。

4

1 に答える 1

4
  1. 非推奨のため、代わりにform_labelブロックを上書きする必要がありますfield_labelfield_label
  2. label_attrの代わりに配列を使用する必要がありますattr

    {% if label_attr.class is defined and '_hint' == label_attr.class %}
    
于 2012-10-22T18:07:40.100 に答える