Twig Engine - Foreach pro Column

david19

Well-Known Member
#1
Ich habe mittlerweile einen Shop mit Lavarel erstellt. Jetzt möchte ich mich in das Octobercms einarbeiten. October basiert zwar auf Lavarel, aber es benutzt nicht Blade, sondern Twig.

In Lavarel kann ich eine Foreach Schleife machen und jede record kommt seperat in eine column. In Lavarel geht das so für 3 Columns:
Code:
@foreach($products->chunk(3) as $chunk)
<div class="card-deck">
    @foreach($chunk as $product)
    <div class="card" style="width: 18rem;">
        <img src="{{$product->url256}}" class="card-img-top" alt="...">
        <div class="card-body">
            <h5 class="card-title text-primary">{{$product->name}} {{$product->subname}} <strong>${{$product->price}}</strong></h5>
            <p class="card-text">{{$product->description}}</p>
            <a href="cart.html" class="btn btn-warning">Add to cart</a>
        </div>
    </div>
    @endforeach
</div>
@endforeach
Jetzt versuche gerade genau dasselbe mit Twig zu machen, aber ich bekomme es nicht hin:oops:
 

dominikb

Well-Known Member
c-b Experte
#2
Ich würde den Aufruf von chunk(3) eher in der richtigen Logik machen und dann das Array als chunks übergeben:

HTML:
{% for chunk in chunks %}
    <div class="card-deck">
       
        {% for product in chunk %}
            <div class="card" style="width: 18rem;">
                <img src="{{ product.url256 }}" class="card-img-top" alt="...">
                <div class="card-body">
                    <h5 class="card-title text-primary">{{ product.name }} {{ product.subname }} <strong>{{ product.price }}</strong></h5>
                    <p class="card-text">{{ product.description }}</p>
                    <a href="cart.html" class="btn btn-warning">Add to cart</a>
                </div>
            </div>
        {% endfor %}
       
    </div>
{% endfor %}
 

david19

Well-Known Member
#3
Ich würde den Aufruf von chunk(3) eher in der richtigen Logik machen und dann das Array als chunks übergeben:
Hallo Dominik. Ich glaube ich hatte mich falsch ausgedrückt. Nehmen wir als Beispiel 2 Columns in einer row.
Code:
<div class="row">

          <div class="col-lg-6">
            <div class="card h-100">

              <div class="card-body">
Diese Foreachschleife:
Code:
<table>
  {% for num in numArray %}
    <tr>
      <td>
        {{num}}
      </td>
    </tr>
  {% endfor %}
</table>
Ergibt das:
Code:
+-----------+
|    12     |
+-----------+
|    13     |
+-----------+
|    14     |
+-----------+
|    15     |
+-----------+
|    16     |
+-----------+
|    17     |
+-----------+
|    18     |
+-----------+
Ich möchte aber jedes Item in zwei Columns haben. So hier:
Code:
+-----------+-----------+
|    12     |    13     |
+-----------+-----------+
|    14     |    15     |
+-----------+-----------+
|    16     |    17     |
+-----------+-----------+
|    18     |           |
+-----------+-----------+
 

david19

Well-Known Member
#6
Problem gelöst! Es lag nicht an Twig sondern an Bootstrap. Durch das suchen hatte ich den Bootstrap Fehler gar nicht mitbekommen:D
 
Oben