我是Symfony和Twig的新手。我试图在vendor \ symfony \ symfony \ src \ Symfony \ Bridge \ Twig \ Resources \ views \ Form \ form_div_layout.html.twig(Symfony 3.2.6)中覆盖默认的Twig表单模板
据我所知,可以定义块,然后在模板的其他部分使用
{% block fooBlock %}
// the block body
{% endblock %}
当要传递参数时,应该使用宏
{% macro barMarco(param1, param2, param3) %}
// macro body using param1, param2, param3 etc,
{% endmacro %}
在上面提到的文件中我找到了类似的东西。这个 块的定义:
{%- block form_errors -%}
{%- if errors|length > 0 -%}
<ul>
{%- for error in errors -%}
<li>{{ error.message }}</li>
{%- endfor -%}
</ul>
{%- endif -%}
{%- endblock form_errors -%}
用法:
{%- block form_row -%}
<div>
{{- form_label(form) -}}
{{- form_errors(form) -}}
{{- form_widget(form) -}}
</div>
{%- endblock form_row -%}
这就是问题:为什么这个阻止它用param (form)
调用。我认为应该像这样调用一个宏吗?