我有以下twig模板(代码在同一个文件中):
{% macro renderJob(fields) %}
// renders the job UI block, but I've removed it for simplicity
Hello world.
{% endmacro %}
{% block _jobs_widget %}
<div id="jobsContainer">
{% for fields in form.children %}
{% dump fields %}
{{ _self.renderJob(fields) }}
{% endfor %}
</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,在升级到twig/twig = v2.1.0我收到以下错误后:
无法在字符串变量("@ AppBundle/Jobs/form/job.html.twig")上调用方法("renderJob").
我一直试图找出造成这种情况的原因而没有任何运气.这曾经工作得很好1.3.x.该fields变量包含正确的数据,但它似乎不能把它传递给renderJob宏或无法找到宏(这是一种奇怪的)?
Lau*_* W. 11
你试过以下吗?
{% import _self as renderJobMacro %}
{% macro renderJob(fields) %}
// renders the job UI block, but I've removed it for simplicity
Hello world.
{% endmacro %}
{% block _jobs_widget %}
<div id="jobsContainer">
{% for fields in form.children %}
{{ renderJobMacro.renderJob(fields) }}
{% endfor %}
</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)