Search Documentation

Search for pages and headings in the documentation

Benutzerdefinierte Seiteneigenschaften

Benutzerdefinierte Seiteneigenschaften (BSE) sind frei konfigurierbare Felder, die global angelegt werden und anschließend für jede beliebige Seite im CMS befüllt werden können. Sie ermöglichen es, strukturierte Zusatzinformationen an Seiten zu hängen – zum Beispiel ein Erscheinungsdatum, eine Kategorienzuordnung oder ein boolesches Flag.

Verwaltung

BSE werden unter Redaktion → Eigenschaften verwaltet. Dort können neue Eigenschaften angelegt, bestehende bearbeitet und nicht mehr benötigte gelöscht werden.

Übersicht der benutzerdefinierten Seiteneigenschaften mit Name, Beschreibung und Feldtyp

Beim Löschen einer BSE werden alle seitenbezogenen Zuweisungen (d. h. die gespeicherten Werte aller Seiten) automatisch mit entfernt.

Felder beim Anlegen

FeldPflichtBeschreibung
NameJaInterner Bezeichner. Wird automatisch zu einem URL-freundlichen Slug umgewandelt (Kleinbuchstaben, Bindestriche). Dieser Slug ist der Schlüssel im Template-Array.
BeschreibungJaWird im Seiteneditor als Label des Eingabefelds angezeigt.
FeldtypJaLegt den Datentyp und das Eingabewidget fest (siehe unten).
StandardwertNeinWird verwendet, wenn eine Seite keinen eigenen Wert für diese BSE hat.
Optionen (JSON)NeinOptionales JSON-Objekt für Feldtypen, die zusätzliche Konfiguration benötigen. Format: {"key": "Label"}

Dialog zum Anlegen einer benutzerdefinierten Seiteneigenschaft mit Name, Beschreibung und Feldtyp-Auswahl

:::note Der Name wird beim Speichern slugifiziert. Aus „Mein Feld” wird also z. B. mein-feld. Dieser Slug ist später der Schlüssel für den Template-Zugriff. :::

Feldtypen

Text

Einfaches Texteingabefeld.

  • Rückgabewert im Template: string (oder null, wenn leer)
  • Standardwert-Beispiel: Standardtitel

Zahl

Numerisches Eingabefeld.

  • Rückgabewert im Template: int
  • Standardwert-Beispiel: 42

Checkbox

Schalter (Toggle), der einen Ja/Nein-Wert speichert.

  • Rückgabewert im Template: bool (true / false)
  • Standardwert: Muss 1 oder true sein, um standardmäßig aktiviert zu sein. Leerlassen bedeutet false.

Datum

Datumsauswahl (ohne Uhrzeit).

  • Rückgabewert im Template: int (Unix-Timestamp in UTC)
  • Standardwert-Beispiel: Ein Unix-Timestamp, z. B. 1700000000

Datum & Uhrzeit

Datums- und Zeitauswahl.

  • Rückgabewert im Template: int (Unix-Timestamp in UTC)
  • Standardwert-Beispiel: Ein Unix-Timestamp

Kategorie

Dropdown zur Auswahl einer CMS-Kategorie.

  • Rückgabewert im Template: int (Kategorie-ID)
  • Standardwert-Beispiel: Die numerische ID der gewünschten Standardkategorie

Verwendung in Templates

Im Seitentemplate sind alle BSE-Zuweisungen über das assoziative Array customPagePropertyAssignments zugänglich. Der Schlüssel ist der Name (Slug) der jeweiligen BSE.

{# Einfacher Textwert #}
{{ Page.customPagePropertyAssignments['mein-feld'] }}

{# Wert mit Fallback auf leer #}
{{ Page.customPagePropertyAssignments['mein-feld']|default('') }}

Beispiele nach Feldtyp

Text

<p>{{ Page.customPagePropertyAssignments['untertitel']|default('') }}</p>

Zahl

<span>{{ Page.customPagePropertyAssignments['lesezeit'] }} Min.</span>

Checkbox

{% if Page.customPagePropertyAssignments['ist-featured'] %}
  <span class="badge bg-primary">Featured</span>
{% endif %}

Datum / Datum & Uhrzeit

Der Wert ist ein Unix-Timestamp. Zur Anzeige mit der Twig-Funktion parseTimestamp formatieren:

{{ parseTimestamp(Page.customPagePropertyAssignments['veroeffentlicht-am']) }}

Oder für benutzerdefinierte Formatierung über parseTime:

{{ parseTime(Page.customPagePropertyAssignments['veroeffentlicht-am'], 'UTC').format('d.m.Y') }}

Kategorie

{% set kategorie = getCrispyCategory(Page.customPagePropertyAssignments['kategorie']) %}
{% if kategorie %}
  <span>{{ kategorie.name }}</span>
{% endif %}

Seiteneditor

Im Seiteneditor erscheinen alle angelegten BSE automatisch im Abschnitt Benutzerdefinierte Seiteneigenschaften, unterhalb des Inhaltsbereichs. Felder ohne Seitenwert zeigen den konfigurierten Standardwert vor. Änderungen werden beim Speichern der Seite übernommen und im Audit-Log als Diff festgehalten.

Abschnitt „Benutzerdefinierte Seiteneigenschaften" im Seiteneditor mit einem Textfeld