Beitragsanzahl mit Twig ermitteln


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

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 %}

Code

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 %}

Code

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

Code

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)

Code

wichtig, damit ausschließlich Beiträge innerhalb des aktuellen Ordners ohne Unterordner gesammelt werden.

Twig Syntax des Filters length

Twig-Symfony: Doku


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

FlightCMS
2024-01-28
PHP8
post
Kontakt@Oliver-Lohse.de

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.