2016-08-04 18 views
0

Ich muss eine Zweigvorlage auf meiner Seite platzieren und eine weitere Zweigvorlage darin platzieren.Zweig einbetten Block funktioniert nicht, wenn es in einer Schleife ist?

In page.twig:

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

In parent.twig:

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

Das Problem ist, dass der Block nicht, wenn seine in einer Schleife funktioniert. Ich kann page.twig alles, was ich mag, aber ich würde lieber nicht ändern parent.twig wenn möglich wie es von anderen Anwendungen verbraucht.

+0

Was versuchen Sie zu tun? Was ist das erwartete Ergebnis? – DarkBee

Antwort

2

Warum setzen Sie einen Block in eine for-Schleife? Sie können nicht 2 Blöcke mit demselben Namen definieren. In Ihrem Fall wird es versuchen, diese Vorlage 3 mal in Ihrem setzen:

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

einen 500-Server-Fehler erstellen: Den Baustein ‚Pappe‘ wird bereits Linie definiert ‚‘ in: parent.twig bei Linie ''.

Wenn Sie wirklich Inhalt abhängig von den Werten in Ihrem Array haben möchten, setzen Sie den Block öffnen und schließen außerhalb der for-Schleife. Zum Beispiel: