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

On your form definition:

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

Also in your twig only need to do:

{{ form_widget(form) }}

Or at least:

{% 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 回答