2016-07-16 10 views
0

Ich habe eine solche Konstruktion in meinem Zweig VorlageIF-Anweisung funktioniert nicht in einer anderen IF-Anweisung in Twig

{% for category in categories %} 
        {% if category.parentId == 0 %} 
         {% set parent = category.id %} 
         <li class="menu-item dropdown"> 
          <a class="dropdown-toggle" data-toggle="dropdown" href="#"> 
           {{ category.name }} 
           <span class="caret"></span> 
          </a> 
          <ul class="dropdown-menu"> 
           {% if category.parentId == parent %} 
            <li><a href="#">{{ category.id }}</a></li> 
           {% endif %} 
          </ul> 
         </li> 
        {% endif %} 
       {% endfor %} 

Mein Problem darin, dass, dass die zweite Bedingung IF (wenn category.parentId == Elternteil) doesn Ich arbeite nicht, also kann ich keine Liste von Unterkategorien bekommen.

Weiß jemand, was für ein Problem und wie kann ich es lösen?

Dank

Antwort

1

If-Anweisung in Zweig richtig funktioniert, aber Sie haben es Fehler. Sie vergleichen category.id mit category.parentId im selben Objekt. Sie müssen eine weitere foreach Schleife für Unterkategorien haben. Wie folgt aus:

{% for category in categories %} 
       {% if category.parentId == 0 %} 
        {% set parent = category.id %} 
        <li class="menu-item dropdown"> 
         <a class="dropdown-toggle" data-toggle="dropdown" href="#"> 
          {{ category.name }} 
          <span class="caret"></span> 
         </a> 
         <ul class="dropdown-menu"> 
          {% for subCategory in categories %} 
          {% if subCategory.parentId == parent %} 
           <li><a href="#">{{ subCategory.id }}</a></li> 
          {% endif %} 
          {% endfor %} 
         </ul> 
        </li> 
       {% endif %} 
      {% endfor %} 
+0

Wow, vielen Dank für die Hilfe, es funktioniert gut :) –

+0

Sie sind willkommen :) – Nikdyvice