Verzeichnisse mit Twig verarbeiten

home pico twig

VBA mit Excel - Der leichte Einstieg - Vom ersten Makro zur eigenen Eingabemaske   -  Erweitern Sie den Funktionsumfang von Excel, indem Sie z. B. Routineaufgaben mit Makros erledigen, benutzerdefinierte Dialogfenster und Eingabemasken erstellen oder Ihre eigenen Funktionen programmieren. Dieses Buch richtet sich an Excel-Anwender, die in die VBA-Programmierung einsteigen möchten, aber noch keinerlei Vorkenntnisse besitzen. Es führt Sie Schritt für Schritt und mit vielen Beispielen in die Grundlagen der VBA-Programmierung ein und zeigt, wie Sie in VBA mit Excel-Objekten, z. B. Tabellenblättern, Zellen und Zellbereichen umgehen. Erfahren Sie außerdem, wie Sie mit UserForms*, Steuerelementen und VBA-Anweisungen eine komfortable Benutzeroberfläche für viele Zwecke und auch für ungeübte Excel-Anwender erstellen.

Wir sind Mitglied im Amazon.Partnernet und können mit Affiliate-Links den Betrieb der Webseite etwas unterstützen, für Sie als Leser ist das natürlich vollkommen kostenlos.

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

Inhalt

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 }} &ensp; {{ 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.


 28.01.2024    Kontakt@Oliver-Lohse.de    for Loop

PHP 8 und MySQL im perfekten Zusammenspiel   -  Dynamische Webseiten mit PHP und MySQL programmieren. Alles, was Sie dafür wissen müssen, steht in diesem Buch. Profitieren Sie von einer praxisorientierten Einführung und lernen Sie alle neuen Sprachfeatures von PHP 8 kennen. Die Autoren Christian Wenz und Tobias Hauser sind erfahrene PHP-Programmierer und Datenbankspezialisten. Sie zeigen Ihnen, wie Sie MySQL und andere Datenbanksysteme effektiv einsetzen. Mit diesem Wissen machen Sie sich rundum fit für dynamische Websites.

Wir sind Mitglied im Amazon.Partnernet und können mit Affiliate-Links den Betrieb der Webseite etwas unterstützen, für Sie als Leser ist das natürlich vollkommen kostenlos.

Weitere passende Beiträge

Schleifen und Beitrags Loops in Smarty

 smarty  Loop Schleifen for


Werten Sie in eigenen Templates mit der Template-Engine Smarty, Variablen aus und steuern dadurch die individuelle Ausgabe des Content Ihrer Webseite.

Twig loop.index

 pico  Loop Counter


Der aktuelle Index des Pico Loops kann für die Steuerung unterschiedlicher Formate abgefragt werden, nutzen Sie das Tag loop.index der Twig Template Engine.

Bestimmte Seiten im Loop ausschliessen

 pico  Beitrag Loop


if-Kontrollstrukturen im Twig-Template helfen bestimmte Seiten auszuschließen, denn nicht alle Seiten sollen beispielsweise einen Autor oder das Datum zeigen

Alle Posts im Beitrags-Loop zeigen

 get-simple  Loop Beitrag Post


Lesen Sie im GetSimple CMS alle Posts und Beiträge auf der Startseite mit dem Beitrags-Loop einzeln aus, der Beitrag zeigt Ihnen wie einfach das geht.

Impressum


CMSWorkbench.de ist eine reine Entwickler-Webseite und dient vorwiegend als Wissensspeicher für die Entwicklung von CMS

Datenschutz


Die Webseite verwendet keinerlei Tracking- oder Speicher-Mechanismen, die Rückschlüsse auf Ihre IP oder das Leseverhalten zulassen

Affiliate


Wir sind Mitglied im Amazon Partnernet und können mit Affiliate-Links (* den Betrieb der Seite etwas unterstützen, für Sie ist das natürlich kostenlos

Kontakt


Sie können mit uns über eMail Kontakt aufnehmen, schreiben Sie an Kontakt@Oliver-Lohse.de