2016-03-30 7 views
0

Im Einstellen einer „Kategorie“ und weitergeben zu einer Vorlage vorbei, die ich zB:Ärger eine Zeichenfolge aus einem Array auf eine Variable innerhalb einer for-Schleife

{% set categoryA = { 
     category: "categoryA", 
    } 
    %} 

    {% include "something.twig" with categoryA %} 


    {% set categoryB = { 
     category: "categoryB", 
    } 
    %} 

    {% include "something.twig" with categoryB %} 

Dies funktioniert gut, aber ich bin Ich wiederhole viel Code, den ich vermeiden möchte (in meinem eigentlichen Code gibt es mehr als 2 Kategorien).

Im Versuch, die Kategorien in einem Array zu setzen und umfassen something.twig für jeden, eine andere Kategorie für jede Instanz übergeben:

{% set categories = ['categoryA', 'categoryB', 'categoryC', 'categoryD', 'categoryE'] %} 


    {% for i in categories %} 

     <h3>{{ i }}</h3> 

     {% set categoryOption = { 
     category: {{ i }}, 
     } 
     %} 

     {% include "something.twig" with categoryOption %} 

    {% endfor %} 

Der Titel im h3 OK gedruckt wird jedoch die categoryOption Kategorie geben als [object Object] anstatt der String Name, wie ich

Antwort

0

Zum Beispiel benötigen, können Sie Kategorie in dem "something.twig" verwenden:

... 
{{ category|default }} 
... 

So können Sie "umfassen" wie:

{% include "something.twig" with { category: 'Name of Category' } %} 

Voll Code:

{% set categories = ['categoryA', 'categoryB', 'categoryC', 'categoryD', 'categoryE'] %} 


    {% for i in categories %} 

     <h3>{{ i }}</h3> 

     {% include "something.twig" with { category: i } %} 

    {% endfor %} 
Verwandte Themen