YAML Syntax in Pico CMS

Wenn Sie in Pico CMS ein Theme bearbeiten oder selbst erstellt haben, dann werden Sie bestimmt über die im Theme-Ordner vorhandene Datei:

pico-theme.yml

gestolpert sein. Diese YAML-Datei nimmt lokale Theme Attribute auf, die speziell in diesem Theme erreichbar sein sollen und die übergeordnete config/config.yml überlagern sollen.

YAML bzw. YML ist eine strukturierte Datei für die Serialisierung (speichern) von Objekten und Daten, sie ist mit JSON oder XML verwandt, bietet jedoch eine noch leichtere Lesbarkeit für den Menschen. Gegenüber JSON, können in YAML auch Kommentare hinterlassen werden.

Eine YAML Liste

Legen Sie beispielsweise die folgende Liste in der Datei pico-theme.yml an, um einige Affiliate- oder CTA- Werbe-Links durch das Pico Theme auszulesen und anzuzeigen.

017  affiliate:
018      - cta:
019        active:       on
020        title:        WordPress 5
021        description:  Starten Sie mit WordPress 5 durch...
022        tag:          ['tag1','tag2','tag3','tag4']
023        link:         http...link 1
024      - cta:
025        active:       off
026        title:        GIMP-Handbuch
027        description:  Starten Sie mit GIMP durch...
028        tag:          ['tag1','tag2','tag3','tag4']
029        link:         http...link 2

Sie legen auf oberster Ebene das Objekt affiliate an, welches eine Liste mit zwei cta Objekten enthält, welche die Attribute title, description und link enthalten.

Achten Sie penibel auf die korrekte Einrückungstiefe im YML, da der Parser überaus empfindlich auf falsche Einrückung reagiert - er quittiert es meist mit einem Abbruch.

YML Liste im Pico Twig-Theme auslesen

Wollen Sie diese Liste im Pico Theme und Template auslesen, dann können Sie dies mit dem folgenden Codeschnipsel realisieren:

056  {% for key in config.theme_config.affiliate %}
057      <h3>         {{ key.title }}       </h3>
058      <p>          {{ key.description }} </p>
059      <p>          {{ key.tag[0] }}      </p>
060      <a href="#"> {{ key.link }}        </a>
061  {% endfor %}

Hinweis - Zeile 59 liest das erste Schlagwort aus der Tag-Liste des YAML aus. Für weitere, müssen Sie mit Twig iterieren.

boolean in YAML

Wenn Sie mögen, können Sie auch booleans in YAML verwenden. Die folgenden Values werden von YAML unterstützt:

active: on
active: off
active: yes
active: no

Arrays in YAML

Auch Arrays sind problemlos mit der folgenden Syntax realisierbar:

key: ['keyword-1','keyword-2']

Sie erhalten dann ein iterierbares Objekt, welches Sie mit einer Schleife iterieren müssen, um die Inhalte zu erhalten.

YAML Listen sind eine super Sache, denn Sie können dynamische Inhalte sehr schnell einbauen und das Pico Theme kann diese für den Leser zur Anzeige bringen. Solche YAML Listen können daher sehr gut für Affiliate oder CTA auf Ihrer Webseite genutzt werden. Zudem ist die YAML-Datei klein, lässt sich leicht pflegen und ist auch ruckzuck auf Ihre Webseite hochgeladen - ideal für kurze und spontane Interventionen.

Hinweis - Das oben gezeigte Coding bezieht sich auf die Template-Sprache Twig Symfony und muss für andere Parser entsprechend angepasst werden.

Sie können eigene YAML Listen natürlich auch in der Datei config/config.yml vornehmen, es hat die selbe Wirkung, da diese YAML-Datei ebenfalls von Pico eingelesen wird, allerdings für alle Themes dann gleichermaßen wirkt.


von Oliver Lohse