Schlagwort-Archive: Contao

Telefon-Links mit Grav

Meine Begeisterung für das flat-file CMS Grav steigt stetig. In einem Twig-Template habe ich gerade relativ leicht tel: links generiert:
<a href="tel:+49{{ person.telefon|regex_replace(['/[^0-9]/', '/^0/'], ['', '']) }}">{{ person.telefon }}</a>

In einem Template werden in einer for-Schleife Adressen ausgegeben. Da es alles deutsche Telefonnummern sind, kann ich sie leicht mit Ersetzungen mit regulären Ausdrücken auf das gewünschte Zielformat +4989123456 bringen. Die Telefonnummer ist im obigen Ausdruck in person.telefon gespeichert, in einem Format wie 089-123456. Sie wird zweimal verwendet, einmal im Klartext des Links, einmal verändert im href-Attribut.

Da Twig regex-Ersetzung nicht von Haus aus mitbringt, muss die php-Funktion durchgereicht werden. Meine Annahme, das habe Grav bestimmt schon gemacht, war richtig: mit regex_replace ist ein entsprechender Twig-Filter definiert. Der macht alles mit zwei Ersetzungen: Alle Nicht-Ziffern werden entfernt, die führende 0 wird entfernt. Das tel:+49 wird statisch davor gesetzt.

Nach vielen Erfahrungen mit TYPO3 und contao ist Grav für mich eine Offenbarung, da ich hier flexibel im Code arbeiten kann, aber nicht auf niedrigste php-Ebenen gehen muss. Und dies bei der Aufbereitung von Inhalten genauso wie bei der Gestaltung mit Themes. So, wie es eines Entwicklers würdig ist 🙂