Filter
CrispyCMS ermöglicht die leistungsstarke Nutzung von Twig-Filtern, um Werte direkt innerhalb Ihrer Templates zu transformieren, zu formatieren oder zu manipulieren. Diese Filter sind essenziell, um Rohdaten in eine für den Endnutzer lesbare Form zu bringen, ohne die Logik im Controller zu überladen.
Die Anwendung erfolgt über die Pipe-Syntax (|), bei der der Filter direkt an eine Variable oder einen Ausdruck angehängt wird.
Syntax
{{ variable|filter }}
Verfügbare Filter
In der folgenden Tabelle finden Sie eine Übersicht aller in CrispyCMS integrierten Filter. Diese decken mathematische Operationen, Datentyp-Konvertierungen und String-Manipulationen ab.
| Filter | Beschreibung |
|---|---|
bcdiv | Führt eine Division mit beliebiger Genauigkeit aus (basiert auf PHP bcdiv). |
integer | Wandelt den übergebenen Wert explizit in einen Integer um (PHP intval). |
double | Wandelt den Wert in eine Fließkommazahl (Double/Float) um (PHP doubleval). |
json_encode | Kodiert einen Wert oder ein Array in einen JSON-String (PHP json_encode). |
json_decode | Dekodiert einen JSON-String zurück in ein Array oder Objekt (PHP json_decode). |
base64_encode | Kodiert Daten als Base64-String (PHP base64_encode). |
unserialize | Deserialisiert einen gespeicherten Wert (PHP unserialize). |
md5 | Erzeugt einen MD5-Hash des Wertes. Legacy |
translate | (string $Key, int $Count = 1, array $UserOptions = []) Holt eine Übersetzung basierend auf einem Schlüssel. |
getlang | Gibt Sprachinformationen basierend auf einem Ländercode zurück. |
truncateText | (string $Input, int $Limit) Kürzt einen Text intelligent auf die angegebene Zeichenanzahl. |
strtotime | Wandelt einen Datums-String in einen Unix-Timestamp um (PHP strtotime). |
time | Gibt den aktuellen Unix-Timestamp zurück (PHP time). |
Der Filter md5 gilt als kryptografisch unsicher und sollte nicht für das Hashen von Passwörtern oder sensiblen, sicherheitskritischen Daten verwendet werden. Nutzen Sie diesen Filter nur für unkritische Prüfsummen oder Caching-Schlüssel.
Anwendungsbeispiele
Hier sehen Sie, wie die Filter in der Praxis eingesetzt werden können.
{# Mathematische Operationen #}
{{ price|bcdiv(2) }}
{# Typ-Konvertierung #}
{{ user.age|integer }}
{{ amount|double }}
{# JSON & Serialisierung #}
{{ settings|json_encode }}
{{ '{"key":"value"}'|json_decode }}
{{ data|base64_encode }}
{{ serializedValue|unserialize }}
{# Hashing #}
{{ 'text'|md5 }}
{# Lokalisierung & Text #}
{{ 'welcome_message'|translate }}
{{ 'de'|getlang }}
{{ article.text|truncateText(100) }}
{# Zeit & Datum #}
{{ '2025-08-12'|strtotime }}
{{ ''|time }}