home · Automad · Bludit · ChatGPT · CMS · GetSimple · GRAV · Handlebars · htaccess · Java · Jira · PHP · Pico · Smarty · Typemill · WonderCMS · WordPress · Yellow ·
Verzeichnisse mit Twig verarbeiten

Verzeichnisse mit Twig verarbeiten

Dieser Beitrag zeigt Ihnen, wie Sie dynamische Templates anlegen, um damit den Content aus verschiedenen Ordner in Ihrer Webseite anzeigen zu können.

Verzeichnisse verarbeiten

Nutzen Sie das Flatfile CMS Pico, dann sind Sie bereits über das index.twig Template gestoßen. Zudem haben Sie sicherlich auch das Codebeispiel für die Blog-Ansicht gesehen (siehe hier). Mit Hilfe dieses Loop können Sie Beiträge aus Verzeichnissen (Blog-Verzeichnis) anlisten. Arbeiten Sie jedoch mit verschiedenen Verzeichnissen ähnlich wie Kategorien wird es etwas umständlich, denn Sie müssten für jedes Verzeichnis eine eigene index.twig anlegen das den Pfadnamen des zu listenden Ordners fest enthält.

...
{% for page in pages("blog")|sort_by("time")...
...

Code

In etwa kennen Sie das obige Beispiel aus der Standardinstallation des Pico CMS. Würden Sie also verschiedene Ordner haben, dann müssten Sie verschiedene index-xyz.twig erzeugen, in denen die diversen Ordner fest vergeben sind. Einfacher geht es, wenn Sie eine weitere Meta-Angabe in den *.md Datein einfügen. Legen Sie ein neues Attribut directory an, welches in jeder index.md den zu durchsuchenden Ordner repräsentiert.

~~~
Title:       Pico
Author:      Oliver Lohse
Date:        2020-04-25
Robots:      noindex,nofollow
Template:    index
directory:   pico
Description: Das freie CMS Pico...
~~~

Code

Das Beispiel oben zeigt den Metainhalt der index.md aus dem Ordner pico und verwendet das Template index.twig. Das Template index.twig kann den Inhalt in seiner loop-Section wie folgt auswerten:

027  {% for page in pages( meta.directory )|sort_by("time")|reverse if not page.hidden %}
028    <div class="row mb-5">
029      <div class="col-sm-5">
030        <h3><a href="{{ page.url }}">{{ page.title }}</a></h3>
031        <p class="small text-muted">{{ page.date_formatted }}   {{ meta.author }}</p>
032      </div>
033      <div class="col-sm-7">
034        <p class="excerpt">{{ page.description }}</p>
035      </div>
036    </div>
037  {% endfor %}

Code

Der bekannte Codeschnipsel aus dem Blog-Beispiel des Pico-Projektes (siehe hier)

Die Templatevariable

{{ meta.directory }} 

Code

in Zeile 27 legt in der for-Schleife den zu ladenden Ordner fest und der loop listet alle Beiträge sortiert ach Datum an.

Für das korrekte Funktionieren dieses sehr dynamischen Mechanismus ist es Bedingung, das Sie in jede index.md eines Ordners das Key-Value Paar directory: ordnername anlegen. Beachten Sie bitte auch, das die Groß-Kleinschreibung relevant ist, der Key Directory ist ein anderer Schlüssel als directory.

Dieser Leitartikel besitzt keine untergeordneten Beiträge.

Affiliate

ChatGPT - Das Praxisbuch - Möchtest du ChatGPT und KI-Tools nicht nur verstehen, sondern effektiv nutzen? Dann ist dieses Buch dein Schlüssel! Von Einsteigern bis Profis – wir zeigen dir, wie du KI für Texte, Bilder und dein Business optimal einsetzt. KI entwickelt sich rasant weiter und bietet immer neue Möglichkeiten und Anwendungen. In ihrem brandneuen Handbuch führen Oliver Bock und Florian Knust die Leser durch die faszinierende Welt von ChatGPT. Sie zeigen aktuelle Trends und Fortschritte auf und bieten einen umfassenden Überblick über die Funktionen und Einsatzmöglichkeiten von ChatGPT.

Hinweis: Die Webseite ist Mitglied im Amazon.Partnernet und kann mit Affiliate-Links den Betrieb stützen. Für Sie als Leser ist das natürlich vollkommen kostenlos.

(c) by CMSWorkbench.de