Twig Functions
CrispyCMS erweitert Twig um eine Reihe von benutzerdefinierten Funktionen,
die in Layouts, Seiten-Templates und Komponenten direkt genutzt werden können.
Twig-Funktionen werden wie normale PHP-Funktionen innerhalb der Twig-Syntax aufgerufen:
{{ functionName(parameter1, parameter2, ...) }}
Verfügbare Funktionen
| Funktion | Parameter | Rückgabewert | Beschreibung |
|---|---|---|---|
microtime() | – | float|string | Gibt den aktuellen Unix-Timestamp mit Mikrosekunden zurück. |
includeResource(path) | path (string) | string | Bindet eine Ressource (z. B. CSS oder JS) aus dem Theme ein. |
generateLink(route, params) | route (string), params (array, optional) | string | Erzeugt einen vollständigen Link basierend auf einer Route und optionalen Parametern. |
generatePlaceholder(size = '150x150', text = true, backgroundColor = null, textColor = null) | size (string), text (string|true), backgroundColor (string|null), textColor (string|null) | string | Erzeugt ein Platzhalter-Bild mit optionalem Text und Farben. |
date(format, timestamp = time()) | format (string), timestamp (int, optional) | string | Formatiert ein Datum/Timestamp. |
in_array_any(needles, haystack) | needles (array), haystack (array) | bool | Prüft, ob mindestens ein Wert aus needles im Array haystack vorkommt. |
getCSRF() | – | string | Gibt den aktuellen CSRF-Token zurück. |
refreshCSRF() | – | string | Generiert einen neuen CSRF-Token. |
validateCSRF(token) | token (string) | bool | Prüft, ob ein übergebener CSRF-Token gültig ist. |
strftime(format, timestamp = time()) | format (string), timestamp (int, optional) | string | Formatiert einen Zeitstempel (PHP strftime). |
strtotime(timeString) | timeString (string) | int | Wandelt einen Zeitstring in einen Unix-Timestamp um. |
time() | – | int | Gibt den aktuellen Unix-Timestamp zurück. |
parseTime(timeString) | timeString (string) | DateTime | Wandelt einen Zeitstring in ein Carbon-DateTime-Objekt um. |
generateRoute(routeName, params) | routeName (string), params (array, optional) | string | Erzeugt eine URL anhand des Routennamens und optionaler Parameter. |
arrayToList(items) | items (array) | string | Wandelt ein Array in eine formatierte Liste um. |
getUserById(userId) | userId (int) | object | Gibt einen Benutzer anhand seiner ID zurück. |
getEditionFromValue(value) | value (string) | object|null | Gibt die passende Lizenz-Edition zu einem Wert zurück. |
Beispiele
{{ microtime() }}
{{ includeResource("css/style.css") }}
{{ generateLink("home") }}
{{ generatePlaceholder("300x200", "Demo Text") }}
{{ date("Y-m-d") }}
{{ in_array_any(["admin", "editor"], user.roles) }}
{{ getCSRF() }}
{{ refreshCSRF() }}
{{ validateCSRF(form.token) }}
{{ strftime("%d.%m.%Y") }}
{{ strtotime("2025-08-12") }}
{{ time() }}
{{ parseTime("2025-08-12 15:30") }}
{{ generateRoute("dashboard", { id: 42 }) }}
{{ arrayToList(["Apfel", "Banane", "Kirsche"]) }}
{{ getUserById(5).username }}
{{ getEditionFromValue("pro") }}