2016-08-04 5 views
0

私のページに小枝のテンプレートを配置し、その中に別の小枝のテンプレートを配置する必要があります。 page.twigで埋め込みブロックがループ内で動作していない場合

:parent.twigで

{% embed "parent.twig" %} 
    {% block something %} 
    {% include "child.twig" %} 
    {% endblock %} 
{% endembed %} 

{% set array = ['', '', ''] 
%} 
<div class="parent"> 
    {% for i in array %} 
     <div class="parent__item"> 
     {% block cardBoard %} 
     {% endblock %} 
     </div> 
    {% endfor %} 
</div> 

問題がときに、ループ内のブロックが機能しないということです。私はpage.twigを私が好きなように編集することができますが、他のアプリケーションで消費される可能性があるので、parent.twigを変更しないでください。

+0

あなたは何をしようとしていますか?期待される成果は? – DarkBee

答えて

2

なぜブロックをforループの中に入れますか? 2つのブロックを同じ名前で定義することはできません。でparent.twig:ブロック「段ボール」はすでに「線」が定義されている :

<div class="parent__item"> 
    {% block cardBoard %} 
    {% endblock %} 
    </div> 

これは、500サーバーエラーが作成されます:あなたのケースでは、それはあなたのテンプレートに3回、これを置くしようとします ライン ''。

実際に配列の値に応じて内容を持たせたい場合は、ブロックの開閉をforループの外に置いてください。 この例のように:

関連する問題