Tipps und Tricks Filter

(Eigene) Twig Filter und Funktionen

Twig-Filter und -Funktionen sind recht nützliche Helferlein zur Verwendung in den Templates.

Das Twig Projekt bringt einige Filter schon mit, aber auch Pakete die man nachinstallieren kann wie das twig-extra-bundle. Es aber auch schon Contao Bundles die solche mitbringen.

Contao bringt auch eigene Filter und Funktionen mit. Aber auch ein eigenes contao Global und Tags.

Wie man selber Twig Filter schreibt, zeigt die Entwickler Doku. Auch in der Contao Show #24 auf YouTube wurde das gezeigt, der Quellcode ist auf GitHub zu finden.
Neue Style auch hier beschrieben, mit eigener Klasse: symfony.com: creating-lazy-loaded-twig-extensions
Dass geht auch mit Attributen: symfony.com: writing-a-twig-extension

Zum Ausprobieren gibt es den Twig Playground.

Namensgebung und Konventionen

  • Groß-/Kleinschreibung: Bei Filternamen wird zwischen Groß- und Kleinschreibung unterschieden.
  • Snake Case: Es wird dringend empfohlen, für Filternamen Snake Case (Kleinbuchstaben, getrennt durch Unterstriche) zu verwenden.
  • Zeichen: Verwendung von alphanumerische Zeichen und Unterstriche.
  • Bewährte Vorgehensweise: Verwendung von Namen, die die durchgeführte Transformation beschreiben (z. B. word_count statt wc).
  • Definition: Bei der Definition benutzerdefinierter Filter in PHP ist der in new TwigFilter(‚name‘, ...) verwendete Name der Name, der in der Templatedatei verwendet wird.
  • Vendor: um eindeutige Filter oder Funktionsnamen zu bekommen, Vendorname als Prefix nutzen: vendor_rot13