我使用的是Symfony 2.3和Twig 1.15。我有一個嵌套的foreach樹枝循環,我試圖爲外循環的最後一次迭代獲得不同的結果。樹枝上錯誤的父環路上下文
我已經看到了這一點:http://twig.sensiolabs.org/doc/recipes.html#accessing-the-parent-context-in-nested-loops 但是我得到了不同的結果 - 一個錯誤在我訪問父上下文行:
Key "loop" for array with keys "groups, scores, type, user, assetic, app, avatarsDir, sonata_block, _parent, _seq, group, _key, subgroup" does not exist in "(...)"
相關的代碼,剝去類,IDS和不必要的標籤:
{% for group in groups %}
<div>
{% for subgroup in group.subgroups %}
{% for test in subgroup.tests %}
{% block test_block_box %}
{% if not loop.parent.loop.last %}
(html follows...)
{% else %}
(some different html follows...)
{% endif %}
{% endblock %}
{% endfor %}
{% endfor %}
</div>
{% endfor %}
我已經確定了錯誤不是指內環呼叫,即我換成loop.parent.loop.last
與loop.last
和頁面渲染成功(內容顯然是錯誤的,但它沒有崩潰)。
當我訪問父上下文時,我做錯了什麼?
你能在循環,不{%塊%}嘗試一下呢?也許Twig在確定塊中的父項時遇到問題。 –
是的,這解決了這個問題。顯然,塊指令改變了Twig的上下文。任何想法,如果這是預期的行爲? –