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 🙂