我是 Symfony2 的新手,我正在通过 twig 打印表单,如下所示:
{% 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 %}
它工作正常,但是我想完全隐藏令牌隐藏字段。 事实上,输入字段类型是“隐藏的”,但标签正确显示。 如何在没有令牌标签但是使用&lt; div&gt;的情况下打印该表单(和其他人)之间的标签?
答案 0 :(得分: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 %}
上面的代码将隐藏包含'token'字符串
的每个标签答案 1 :(得分:1)
在表单定义上:
->add('fieldname', 'hidden', array('label' => false))
另外在你的树枝上只需要做:
{{ form_widget(form) }}
或者至少:
{% for form_field in form %}
{{ form_row(form_field) }}
{% endfor %}
答案 2 :(得分: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 %}