---
title: "Saubere Telefonnummern in TYPO3: EXT:phone_number"
url: "https://b13.com/de/wissen/saubere-telefonnummern-in-typo3"
description: "TYPO3 speichert Telefonnummern korrekt, formatiert sie aber nicht fürs Frontend. EXT:phone_number sorgt per Fluid ViewHelper für saubere Ausgabe."
image: "https://b13.com/fileadmin/_processed_/3/4/csm_EXTphonenumber_Sharing_93e8e87199.png"
date: 2026-07-31
modified: 2026-08-19
lastUpdated: 2026-08-19
---

# Saubere Telefonnummern in TYPO3: EXT:phone_number

[ TYPO3 ](https://b13.com/de/wissen/typo3) [ Open Source ](https://b13.com/de/wissen/open-source)

 Saubere Telefonnummern in TYPO3: warum wir EXT:phone\_number gebaut haben
===========================================================================

![](https://b13.com/fileadmin/_processed_/a/d/csm_david_5ce18d41e2.jpg)David Steeb

  11. August 2026

 [ RSS Feed ](https://b13.com/de/rss.xml)

  ![Eine lila Grafik mit einem Smartphone-Icon und drei horizontalen Balken, umgeben von Illustrationen von Vintage-Telefonen.](https://b13.com/fileadmin/_processed_/2/5/csm_EXTphonenumber_Headerbild_7b18829c3c.webp)

Der Link-Wizard in TYPO3 hat seit einiger Zeit einen eigenen Link-Typ „Telefon“ — und, konsequent genutzt, ist er richtig praktisch: Redakteure hinterlegen Telefonnummern als saubere tel:-Links. Die Verlinkung selbst stimmt also und funktioniert zuverlässig. Den schwierigen Teil hast du damit erledigt — alle geben ihre Nummern korrekt ein.

Der Haken ist das Frontend. Ist die Nummer erst mal korrekt gespeichert, musst du immer noch entscheiden, wie sie auf der Seite tatsächlich aussehen soll — international, national, nach DIN 5008 — und TYPO3 formatiert sie nicht für dich. Dieselbe gespeicherte Nummer soll im Impressum vielleicht anders erscheinen als im Footer.

Genau hier kommt unsere kleine Extension phone\_number ins Spiel. Sie macht genau eine Sache, aber die richtig: Sie nimmt die Telefonnummer entgegen, die ein Redakteur bereits hinterlegt hat — als tel:-Link oder als rohen String — und formatiert sie für die Ausgabe im Frontend. In diesem Post erkläre ich, welches Problem sie löst und wie du sie einsetzt.

   Warum das Ausgabeformat zählt
-------------------------------

Was Besucher tatsächlich lesen, ist die Nummer auf der Seite — und genau da zählt Konsistenz. Eine Nummer, die auf drei Seiten in drei Varianten steht, kratzt am sauberen Gesamtbild einer ansonsten aufgeräumten Website.

Internationale Besucher erwarten ein vorhersehbares Format, und in Deutschland legt die DIN 5008 klare Regeln fest, wie eine Nummer geschrieben wird. Je nach Kontext willst du vielleicht die volle internationale Form (+49 711 3400810) im Impressum und die kürzere nationale Form (0711 3400810) im Footer — idealerweise aus genau derselben gespeicherten Nummer, ohne im Backend etwas anzufassen.

Das alles von Hand in jedem Template zu erledigen, skaliert nicht. Jedes Template bekommt so seine eigene kleine Formatierungslogik, und mit der Zeit entsteht genau der Wildwuchs, den wir vermeiden wollen: viele leicht unterschiedliche Lösungen für dasselbe Problem.

    ![Ein stilisiertes Smartphone-Icon mit Signalbalken, vor einem lila und orangefarbenen Farbverlauf-Hintergrund.](https://b13.com/fileadmin/_processed_/e/e/csm_sharing-ext-PhoneNumber-S-20260803-061023_6f7581e12f.webp)

 Unsere Lösung: ein kleiner ViewHelper auf Basis von libphonenumber
--------------------------------------------------------------------

Die Idee hinter phone\_number ist bewusst schlank: ein einziger Fluid-ViewHelper, der eine rohe Telefonnummer oder eine tel:-URI entgegennimmt und in eine saubere internationale oder nationale Nummer formatiert. Eine Zeile im Template, überall konsistente Ausgabe.

Die Installation läuft wie gewohnt über Composer:

  ```
1<br></br>
```

```
composer req b13/phone-number<br></br>
```

  Dann registrierst du den Namespace in deinem Fluid-Template:

  ```
1<br></br>2<br></br>3<br></br>4<br></br>
```

```
<html<br></br>  <span class="hljs-attribute">data-namespace-typo3-fluid</span>=<span class="hljs-string">"true"</span><br></br>  xmlns:<span class="hljs-attribute">phone</span>=<span class="hljs-string">"http://typo3.org/ns/B13/PhoneNumber/ViewHelpers"</span><br></br>><br></br>
```

  Ab da ist es ein Einzeiler. Das internationale Format ist der Standard:

  ```
1<br></br>
```

```
<phone:<span class="hljs-keyword">format</span> <span class="hljs-keyword">value</span>="tel:+497113400810" /><br></br>
```

  Du brauchst stattdessen das nationale Format? Passe ein Argument an:

  ```
1<br></br>
```

```
<phone:<span class="hljs-keyword">format</span> <span class="hljs-keyword">value</span>="tel:+497113400810" <span class="hljs-type">national</span>="1" /><br></br>
```

  Und das ist nicht auf deutsche Nummern beschränkt. Übergib eine US-Nummer, und libphonenumber formatiert sie auf amerikanische Weise:

  ```
1<br></br>
```

```
<phone:<span class="hljs-keyword">format</span> <span class="hljs-keyword">value</span>="tel:+12125550123" /><br></br>
```

  Mit `national="1"` bekommst du (212) 555–0123 — das Format, das US-Leser erwarten.

Das Herkunftsland kommt aus der Nummer selbst: Die +1 verrät libphonenumber, dass es sich um eine US-Nummer handelt, also folgt das richtige Format automatisch — unabhängig von der Sprache deiner Seite. Das Argument defaultRegion (mehr dazu unten) greift nur bei Nummern, die ohne Ländervorwahl gespeichert sind, und sagt dem Parser, welches Land er annehmen soll.

Und wenn eine Nummer als reiner String statt als tel:-Link gespeichert ist, normalisiert er auch das:

  ```
1<br></br>
```

```
<phone:<span class="hljs-keyword">format</span> <span class="hljs-keyword">value</span>="+49 (0) 711 34008-10" /><br></br>
```

  Das ist der Fall, für den die Extension eigentlich gebaut ist: Ein Feld vom Typ TCA `type=link` mit `allowedTypes=telephone` — der Link-Typ „Telefon“ aus dem Wizard — liefert dir eine tel:-URI, und der ViewHelper macht daraus direkt saubere Ausgabe. Die Nummer, die ein Redakteur im Backend wählt, ist die Nummer, die dein Besucher sieht — sauber formatiert, jedes Mal.

   Die Argumente im Überblick
----------------------------

Der ViewHelper hält seine Argumente bewusst kurz und vorhersehbar:

- `value` — die Telefonnummer oder der tel:-Link, der formatiert werden soll. Pflichtangabe.
- `defaultRegion` — die Region, mit der Nummern ohne Ländervorwahl geparst werden. Standard ist DE — das greift aber nur bei Nummern ohne Vorwahl, orientier dich also am Herkunftsland deiner Firma, nicht an der Seitensprache (die englische Seite einer französischen Firma will hier trotzdem FR).
- `national` — formatiert die Nummer national (0711 …) statt international. Standardmäßig aus.

   Voraussetzungen
-----------------

EXT:phone\_number läuft ab PHP 8.1 und unterstützt TYPO3 12, 13 und 14. Die Extension ist Open Source unter GPL-2.0-or-later, und das Parsen der Nummern übernimmt libphonenumber-for-php-lite — du bekommst also erprobte Formatierungsregeln, ohne eine schwere Abhängigkeit einzuziehen.

   Fazit
-------

Telefonnummern sind ein kleines Detail, aber kleine Details sorgen dafür, dass sich eine Seite fertig anfühlt. Statt sie in jedem Template von Hand zu formatieren, gibt dir EXT:phone\_number einen konsistenten, wiederverwendbaren Weg: Extension installieren, Namespace registrieren, einen ViewHelper einbauen — und deine Nummern sehen einfach richtig aus.

Dokumentation und Quellcode findest du auf GitHub:[ https://github.com/b13/phone-number](https://github.com/b13/phone-number)

  **Kniffliger Formatierungsfall?**

Egal ob du Telefonnummern über eine große TYPO3-Installation hinweg aufräumst oder die Details auf einer einzelnen Seite feinschleifst — wir helfen gern. Wenn du Unterstützung bei EXT:phone\_number oder deinem TYPO3-Projekt brauchst, meld dich einfach bei uns.

 [ Kontakt aufnehmen ](https://b13.com/de/kontakt)

  ###  Geschrieben von:

 ![Lächelnder Mann mit kurzen Haaren und einem Bart, der ein rotes T-Shirt trägt, steht in einem gut beleuchteten Innenraum mit verschwommenem Hintergrund.](https://b13.com/fileadmin/_processed_/a/d/csm_david_cf042ebb7f.webp)

Als b13-Gründer und CEO is David derjenige, mit dem Du es zu tun haben wirst, wenn Du mit uns zusammenarbeiten möchtest. Er eignet sich ständig neue Fähigkeiten an und bestimmt maßgeblich unsere hochmodernen Ansätze in der Frontend-Entwicklung.

 David Steeb  CEO

 [ mehr von David Steeb ](https://b13.com/de/team/david-steeb)

  Ähnliche Artikel
------------------

- ![Cartoon-Trophäenfigur umgeben von Händen, die Daumen hoch und ein Herzzeichen geben, vor einem Hintergrund mit Zahnradmuster.](https://b13.com/fileadmin/_processed_/f/7/csm_T3ppy_Design_Kit_Headerbild_b51eb9dc31.webp)

    ###  T3ppy gibt TYPO3 ein freundliches Gesicht

     06. August 2026 | Florian “Flix” Keitgen

     TYPO3 ist leistungsstark — muss sich aber nicht unpersönlich anfühlen. Das ist T3ppy, unser freundlicher Begleiter fürs Backend.

     [ weiterlesen: T3ppy gibt TYPO3 ein freundliches Gesicht ](https://b13.com/de/wissen/t3ppy-design-kit)
- ![Hammer mit der Aufschrift 'KI' auf einem schaltkreis-musternden Hintergrund mit gelben Sternen, der Regulierung oder Gesetzgebung im Zusammenhang mit künstlicher Intelligenz in der EU symbolisiert.](https://b13.com/fileadmin/_processed_/1/0/csm_EUAIAct_Headerbild_510724b3de.webp)

    ###  KI-Inhalte in TYPO3: Transparenz braucht Verantwortung

     02. August 2026 | Benni Mack

     Der EU AI Act rückt die Herkunft KI-generierter Inhalte in den Fokus. AI Label kennzeichnet KI-generierte und KI-bearbeitete Inhalte in TYPO3 und dokumentiert, wer den…

     [ weiterlesen: KI-Inhalte in TYPO3: Transparenz braucht Verantwortung ](https://b13.com/de/wissen/ai-content-in-typo3-labelling-needs-accountability)
- ![Hände, die Puzzlestücke halten, sind um ein teilweise fertiges Puzzle angeordnet, das eine Computeroberfläche darstellt.](https://b13.com/fileadmin/_processed_/d/7/csm_StopBuyingPlatforms_Headerbild_8a41a82f8a.webp)

    ###  Fang an, Ökosysteme zu bauen statt nur Plattformen zu kaufen.

     09. Juni 2026 | David Steeb

     Der erste TYPO3 Summit North America eröffnete mit einer Keynote, die neu formuliert, wie Enterprise-Teams über Content-Management nachdenken sollten — von Plattformen zu…

     [ weiterlesen: Fang an, Ökosysteme zu bauen statt nur Plattformen zu kaufen.  ](https://b13.com/de/wissen/stop-buying-platforms-start-building-ecosystems)
- ![Bunte Fischillustrationen umgeben ein zentrales Logo, das "TYPO3 Summit" liest.](https://b13.com/fileadmin/_processed_/4/3/csm_NorthAmericaSummit_Headerbild_5fbbbbb529.webp)

    ###  Notizen aus Atlanta — Was der erste TYPO3 Summit North America über das nächste Jahrzehnt Enterprise-CMS verrät

     22. Mai 2026 | David Steeb

     Bericht vom ersten TYPO3 Summit North America in Atlanta. Über Governance, die man nicht einfach so aufkaufen kann, vorhersehbare 7-Jahres-Lebenszyklen, die Distributionsschicht…

     [ weiterlesen: Notizen aus Atlanta — Was der erste TYPO3 Summit North America über das nächste Jahrzehnt Enterprise-CMS verrät ](https://b13.com/de/wissen/notizen-atlanta-erstes-typo3-summit-north-america-enterprise-cms)
- ![Eine Rakete mit der Bezeichnung "V14" startet in den Himmel, umgeben von einer Gruppe von Menschen, die mit erhobenen Armen feiern.](https://b13.com/fileadmin/_processed_/3/d/csm_v14_Celebration_Headerbild_3d4170fdc5.webp)

    ###  Happy Release Day TYPO3 v14: Warum dieser Release zeigt, wie stark Open Source sein kann

     21. April 2026 | Florian “Flix” Keitgen

     TYPO3 v14 verbessert Workflows für Redakteure, Marketing-Teams und Entwickler — und zeigt, wie Community-getriebene Open Source echte Wirkung entfaltet.

     [ weiterlesen: Happy Release Day TYPO3 v14: Warum dieser Release zeigt, wie stark Open Source sein kann ](https://b13.com/de/wissen/happy-release-day-typo3-v14-warum-dieser-release-zeigt-wie-stark-open-source-sein-kann)
- ![Vier Aktenordner, die ein Balkendiagramm mit orangefarbenen Balken zeigen, vor einem hellblauen Hintergrund mit abstrakten Dokumentumrissen.](https://b13.com/fileadmin/_processed_/7/2/csm_PageInfoTabs_Headerbild_1e3eda44e5.webp)

    ###  Den Seitenmodul-Header zähmen — Warum wir EXT:page\_info\_tabs entwickelt haben

     31. März 2026 | David Steeb

     Wenn mehrere TYPO3-Extensions Inhalte im Page Module Header stapeln, wird es schnell unübersichtlich. EXT:page\_info\_tabs strukturiert alles automatisch in übersichtliche Tabs —…

     [ weiterlesen: Den Seitenmodul-Header zähmen — Warum wir EXT:page\_info\_tabs entwickelt haben ](https://b13.com/de/wissen/den-seitenmodul-header-zaehmen-warum-wir-extpage-info-tabs-entwickelt-haben)
- ![Bunte Palmenblätter umgeben ein zentrales kreisförmiges Logo mit einem stilisierten Design in Orange und Weiß, das vor einem hellen Hintergrund platziert ist.](https://b13.com/fileadmin/_processed_/3/a/csm_CMSflorida_Headerbild_7f47320b93.webp)

    ###  CMS Kickoff 2026: Blickwinkel auf KI, Open Source und digitale Souveränität

     19. Januar 2026 | David Steeb

     KI, digitale Souveränität und Open Source über die europäische Perspektive hinaus: Gedanken vom CMS Kickoff 2026 in Florida und was globale Diskussionen für Agenturen bedeuten, die…

     [ weiterlesen: CMS Kickoff 2026: Blickwinkel auf KI, Open Source und digitale Souveränität ](https://b13.com/de/wissen/cms-kickoff-2026-blickwinkel-auf-ki-open-source-und-digitale-souveraenitaet)
- ![Benutzeroberflächendesign mit einer dunklen Seitenleiste, die Navigationsoptionen bietet, und einem zentralen Inhaltsbereich mit Platzhaltertext.](https://b13.com/fileadmin/_processed_/6/6/csm_V14BackendUX_Headerbild_6dcecb335f.webp)

    ###  Gestaltung des Backends von TYPO3 v14: Unsere Vision für eine moderne, erweiterbare Grundlage

     12. Januar 2026 | Laura Heine

     b13 gestaltet das Backend von TYPO3 für Version 14 neu, damit es moderner wirkt, schneller läuft, den Benutzerkontext beibehält und eine erweiterbare Grundlage schafft, die sich…

     [ weiterlesen: Gestaltung des Backends von TYPO3 v14: Unsere Vision für eine moderne, erweiterbare Grundlage ](https://b13.com/de/wissen/gestaltung-des-backends-von-typo3-v14-unsere-vision-fuer-eine-moderne-erweiterbare-grundlage)
- ![Eine Hand hält einen goldenen Pokal mit einem Logo, vor einem verschwommenen Hintergrund eines Gebäudes.](https://b13.com/fileadmin/_processed_/8/c/csm_ContainerAward_Headerbild_2a5154cdcb.webp)

    ###  TYPO3 Awards: Container Extension gewinnt „Beste TYPO3 Extension“

     28. November 2025 | Florian “Flix” Keitgen

     Die Container Extension von Achim Fritz (b13) gewinnt den TYPO3 Award 2025. Eine Würdigung für Open Source, Klarheit und echte TYPO3-DNA.

     [ weiterlesen: TYPO3 Awards: Container Extension gewinnt „Beste TYPO3 Extension“ ](https://b13.com/de/wissen/typo3-awards-container-extension-gewinnt-beste-typo3-extension)
- ![Bunte Sneakers sind in einem Muster angeordnet, mit einem zentralen Logo, das 'TYPO3 Code Sprint' zeigt.](https://b13.com/fileadmin/_processed_/6/c/csm_CodesprintGenf25_Headerbild_c44149748c.webp)

    ###  Code, Collaboration und Community: Meine Woche beim TYPO3 v14 Feature Sprint in Genf

     05. November 2025 | Oliver Bartsch

     Fünf Tage, 14 Contributors, unzählige Ideen — und 55 Patches erstellt!
     Unser Team von b13 war beim TYPO3 v14 Feature Sprint in Genf dabei, um wichtige Verbesserungen für…

     [ weiterlesen: Code, Collaboration und Community: Meine Woche beim TYPO3 v14 Feature Sprint in Genf ](https://b13.com/de/wissen/code-collaboration-und-community-meine-woche-beim-typo3-v14-feature-sprint-in-genf)