Anzahl der PICO Beiträge eines Ordners mit Twig zählen
Wollen Sie im Rahmen des Twig-Templatings unter PICO die Anzahl der Beiträge in einem Ordner ermitteln, dann ist dieser Code die Lösung
Juli 5, 2023 - Lesezeit: ~1 Minute
Inhalt
Der Pico loop
Die Templatesprache Twig-Symfony bietet bereits einige vorgefertigte Befehle, mit denen es leicht möglich ist die Anzehl der Beiträge eines Ordners zu ermitteln. Für das Coding sollte zunächst der folgende Pico-Loop unterstellt werden, welcher die Ordner der obersten Stufe durchläuft:
... {% for page in pages(current_page.id) if not page.hidden %}
... ...
... {% endfor %}
Elemente des ARRAY mit length zählen
Die Beiträge des Ordners werden im Loop der Variablen page zugewiesen. Die Anzahl der Elemente kann dann ganz leicht mit dem Twig-Filter length ausgegeben werden. Folglich ergibt sich der folgende Codeschnipsel innerhalb des Loop:
... {% for page in pages(current_page.id) if not page.hidden %}
... {% if page.meta.template == 'index' %}
... {{ pages(page.id, depth=0)|length }} Beiträge im Ordner
... {% endif %}
... {% endfor %}
Die Variable pages nimmt folglich das Array aller Beiträge page in diesem spezifischen Ordner auf und kann deren Anzahl mit dem Twig-Filter
...|length
anzeigen - sofern die aktuelle page die Templateangabe index enthält, was auf einen Ordner statt auf einen Post hindeutet. Dabei ist die Angabe von
(page.id, depth=0)
wichtig, damit ausschließlich Beiträge innerhalb des aktuellen Ordners ohne Unterordner gesammelt werden.
Twig Syntax des Filters length
Twig-Symfony Doku: https://twig.symfony.com/doc/3.x/filters/length.html
Schlagworte: