Twig Loop Listing?

Kann mir jemand sagen, wie ich in einer Schleife oder einem Loop zwei vorhandene Werte einer Variable im Listing summieren und ausgeben kann?

{{ product.availableStock }} gibt logischerweise nur einen Wert aus.

{% set sumStock %}

{% for stock in product.availableStock %}
    {% set sumStock = sumStock + stock %}
{% endfor %}

<p>Der gesamte Warenbestand dieses Produktes ist {{ sumStock }}.</p>

So müsstest du das eigentlich lösen können. Es kommt hier natürlich drauf an, ob diese Werte so einfach addierbar sind. Wenn es Zahlen sind, sollte das gehen.

Lass mich wissen, ob das geklappt hat.

Lg

Erstmal danke für deine Antwort. Funktioniert jedoch leider nicht.

Das ist die Zeile mit dem {% set sumStock %}
Nehme ich die Zeile raus, ist sumStock = 0.

Ahh, mein Fehler!

{% set sumStock = sumStock + stock %} muss es natürlich heißen!

Das hatte ich bereits geändert, weil es mir aufgefallen war.

Das Problem scheint die erste Zeile zu sein.

Probier mal
{% set sumStock = 0 %}

Auf welcher Seite wird das denn genau aufgerufen?
Es könnte sein, dass product nicht definiert ist. Manchmal muss man es über page.product machen. Du kannst abfragen, ob product nicht definiert ist, aber page.product definiert ist und dann die variable page überschreiben mit page.product.

{% set sumStock = 0 %}

{% if (not product is defined) and (page.product is defined) %}
      {% set product = page.product %} 
{% endif %}

{% for stock in product.availableStock %}
    {% set sumStock = sumStock + stock %}
{% endfor %}

<p>Der gesamte Warenbestand dieses Produktes ist {{ sumStock }}.</p>

Probier das mal.

Im Produkt-Listing.

image

{{ product.availableStock }} gibt die 300 auch im Frontend aus. Ich habe aber ja eine zweite Variable availableStock mit einem weiteren Wert, die dann natürlich nicht berücksichtig wird.

Ich habe mir mal das product gedumped. product->availableStock bezieht sich immer nur auf die aktuell dargestellte Produktvariation. Deshalb hast du dort immer nur einen Wert, nämlich den aktuellen Stock der gewählten Variation.

Wie man durch einen Art überordneten Container looped (oder ob es sowas überhaupt gibt), kann ich dir leider nicht sagen :frowning: