Twig Symfony细枝块生成优先级
我在twig中有点小问题,无法渲染symfony表单, 因此,首先我将解释它的上下文 在Twig中,块在模板上按特定顺序定义:Twig Symfony细枝块生成优先级,twig,symfony,symfony-forms,Twig,Symfony,Symfony Forms,我在twig中有点小问题,无法渲染symfony表单, 因此,首先我将解释它的上下文 在Twig中,块在模板上按特定顺序定义: {# base.layout.html.twig #} {% block firstBlock %} {% endblock firstBlock %} {% block secondBlock %} {% endblock secondBlock %} 当我们扩展此模板时,我们可以编写以下内容: {# child.layout.html.twig #} {% e
{# base.layout.html.twig #}
{% block firstBlock %}
{% endblock firstBlock %}
{% block secondBlock %}
{% endblock secondBlock %}
当我们扩展此模板时,我们可以编写以下内容:
{# child.layout.html.twig #}
{% embed "base.layout.html.twig" %}
{% block secondBlock %}
{{ form_widget(form.submit_button) }}
{% endblock secondBlock %}
{% block firstBlock %}
{{ form_widget(form.some_field) }}
{{ form_rest(form) }}
{% endblock firstBlock %}
因此,问题在于twig中呈现Symfony表单的form()函数
我试图在模式窗口的最末端生成一个提交按钮
但问题是form_rest()会渲染尚未渲染的表单的所有部分
有一个小补丁可以避免form\u rest来呈现form.submit\u按钮,它可以将form.submit\u按钮设置为一个已经呈现的字段,具有:
{% do form.submit_button .setRendered %}
但使用此表单时,永远不会呈现“提交”按钮
当然,所有这些的最终目的是不要删除form_rest指令
因此,我在form_rest指令之后搜索一些东西来取消form.submit_按钮的渲染值,或者更好地选择模板的块生成顺序
像这样:
{% block secondBlock with(1) %}
{{ form_widget(form.submit_button) }}
{% endblock secondBlock %}
{% block firstBlock with(2) %}
{{ form_widget(form.some_field) }}
{{ form_rest(form) }}
{% endblock firstBlock %}
谢谢你的帮助 如果只是一个提交按钮,您可以将其从表单类型中删除,并用html编写,这不是问题,而且可以正常工作 问题是,首先渲染其余部分(包括按钮),然后在尝试渲染按钮但按钮已渲染后 当然,html按钮必须位于