Twig if语句不包括转义代码

时间:2016-12-22 10:41:51

标签: html if-statement escaping twig symfony

我在Symfony3中使用Twig,在我看来,我有一个if语句。 html没有渲染,但转移的树枝确实被渲染。

这是我的代码:

{% if not private %}
    <h2>group</h2>
    <fieldset>
        {{ form_row(form.group) }}
    </fieldset>
 {% endif %}

因此<h2>未显示,但{{ form_row(form.group) }}已呈现。我如何'包含'转义为if语句的部分?

提前谢谢。

修改 这是实际呈现的内容。

<div class="user_group">
        <div class="lbl"><label for="group">Group</label></div>
        <div class="vals"><input type="text" id="group" name="user[group]"></div>
</div>

正如您所看到的,表单的该部分会被呈现,但<h2>未显示,因为if为false。

1 个答案:

答案 0 :(得分:1)

我发现了什么问题。在页面的末尾调用form_end(form)。并且尚未被调用的表单的每个部分都会在那里呈现。

所以我只需要将表单中的那部分放在其他地方或者将它放在隐藏的输入中。我会看到。

编辑找到答案! 如果没有提及表单元素,并且您不希望在使用form_end(form)时呈现它,我只需使用form_end(form, {'render_rest': false })