Hinzufügen eines Auswahlfeldes im Kirby-CMS

Wie man ein Site-Template im CMS Kirby um ein Auswahlfeld erweitert.

Templates

Was ist ein Template?

Template sind Seitenvorlagen, d.h. hier wird definiert, wie eine HTML-Seite zusammengebaut wird. Sie bestehen aus einem Mix aus PHP- und HTML-Befehlen. Für die Anpassungen hier sind aber keine PHP-Kenntnisse notwendig. Template findet man immer unter:

/site/templates

Welches Template ist zu ändern?

Zunächst muss man den Namen des Templates herausfinden, welches für die Seite verwendet wird. Dazu kann man im Panel eine neue Seite anlegen und in dem Dialog den Namen des Templates ablesen. Hier im Beispiel “Music Page”.

Templateauswahl im Panel von Kirby
Templateauswahl im Panel von Kirby

Blueprints

Was ist ein Blueprint?

Blueprints sind bei Kirby der Gegenpart zu Templates. Sie definieren die Formulare, legen fest welche Felder wie aussehen und was diese aufnehmen. Im Beispiel geht es darum eine Auswahlliste bereitzustellen. D.h. hier müssen wir mit der Erweiterung beginnen.

Wo ist das Blueprint zu finden?

Wie zu erwarten, findet man blueprints hier:

/site/blueprints 

Änderungen im Blueprint

Wir öffnen das Blueprint in einem Texteditor und suchen uns eine Stelle, wo das neue Feld erscheinen soll. Dort schreiben wir folgenden Abschnitt:
Das neue Feld hat die Bezeichnung tonality.

  tonality: 
    label:      Tonart
    width:      1/2
    type:       select
    default:    C
    options:
      C: C-Dur
      D: D-Dur
    help:       Tonart auswählen.

Label legt die Bezeichnung des Feldes im Panel fest. Die Angabe width ermöglicht es für Felder mit kurzen Inhalten mehrere Felder in einer Zeile zu definieren. Hier also die halbe Breite; Platz für ein weiteres Feld.
Der type legt nun über select fest, dass es ein Auswahlfeld wird. Über default kann eine Vorbelegung festgelegt werden und der Bereich options definiert die einzelen Wert zur Auswahl. Der Text rechts vom : den Text, den man im Panel sieht. help definiert den Hilfetext unterhalb des Feldes für den Anwender.

Das Ergebnis im Panel ist dann folgendes:

Bei jeder Speicherung im Panel wird nun durch die neue Definition im Blueprint folgendes in die Beitragsseite geschrieben:

\----

Sticky: 0

\----

Tonality: C

\----

Description:  

Änderungen im Template

Nun möchte man diese Werte auch veröffentlichen. Dies kann auf sehr vielen Wegen geschehen, z.B. mit kirbytext:

Marco
Marco

Familienvater, Pragmatiker und Klavierspieler.