1

私はSymfony2を初めて使用し、以下のように小枝を介してフォームを印刷しています:

{% for form_field in form %}
    {% block field_row %}
        <div class="">
            {{ form_label(form_field) }}
            <br>
            {# {{ form_errors(form_field) }} #}
            {{ form_widget(form_field) }}
            {{ form_row(form_field) }}
        </div>
    {% endblock field_row %}
{% endfor %}

それは正しく機能しますが、完全に隠したいトークン隠しフィールドがあります。実際、入力フィールドのタイプは「非表示」ですが、ラベルは正しく表示されます。トークンラベルなしで <div> (およびその他) タグを使用してそのフォームを印刷するにはどうすればよいですか?

4

3 に答える 3

3

同じ問題があり、この方法で解決しました。以下のコードを試すことができます:

{% block register_form_widget %}
{% spaceless %}
    {% for child in form %}
        <div class="form-group {% if form_errors(child) is not empty %}has-error{% endif %} ">

            {% if 'token' not in form_label(child) %}
                {{ form_label(child) }}
            {% endif %}

            {{ form_widget(child) }}
        </div>
    {% endfor %}
    {{ form_rest(form) }}
{% endspaceless %}
{% endblock register_form_widget %}

上記のコードは、「トークン」文字列を含むすべてのラベルを非表示にします

于 2014-09-08T10:54:31.860 に答える
1

フォーム定義で:

->add('fieldname', 'hidden', array('label' => false))

また、小枝で行う必要があるのは次のとおりです。

{{ form_widget(form) }}

または少なくとも:

{% for form_field in form %}
    {{ form_row(form_field) }}
{% endfor %}
于 2013-09-13T15:55:04.030 に答える
0

この解決策についてはわかりませんが、次のようにラベルを追加する前に if ステートメントを追加できます。

{% for form_field in form %}
{% block field_row %}
    <div class="">
         {% if form_label(form_field) != form_label(form_field._token) %}
        {{ form_label(form_field) }}
         {% endif %}
        <br>
        {# {{ form_errors(form_field) }} #}
        {{ form_widget(form_field) }}
    </div>
  {% endblock field_row %}
{% endfor %}
于 2013-09-13T15:53:34.163 に答える