Alles, was Sie wissen sollten bevor Sie installieren.
Ein detaillierter Blick darauf, wie Internationale Telefonvorwahl PrestaShop — Flaggen und E.164-Normalisierung funktioniert, warum wir es so gebaut haben und der Gedanke hinter den Funktionen oben.
Das Problem: unlesbare, nicht vergleichbare, nicht kontaktierbare Telefonnummern
In einem länderübergreifenden Shop kommen Telefonnummern in jedem erdenklichen Format in der Datenbank an: 06 33 54 78 64, 0633547864, plus 33 6 33 54 78 64, 0033 6 33 54 78 64, 33-633-547-864. Folge: Kundenduplikate sind nicht erkennbar, Exporte in CRM oder ERP müssen manuell bereinigt werden, transaktionale SMS-Dienste lehnen jede dritte Nummer ab, und Vertriebsteams verlieren Zeit beim Reformatieren vor jedem internationalen Anruf.
Die Lösung: ein einheitliches Format, klare UX, serverseitige Garantie
Das Modul fügt eine Vorwahl-Auswahl mit Flagge direkt auf den Telefon- und Mobiltelefonfeldern hinzu, überall wo sie erscheinen: Registrierungsformular, Adressverwaltung, 5-Schritt- oder One-Page-Checkout. Der Kunde sieht sofort, welche Vorwahl angewendet wird, kann sie mit zwei Klicks ändern, und die Liste wird durch Sofortsuche gefiltert. In der Datenbank erhalten Sie unabhängig davon, was der Kunde eingibt, immer ein sauberes, normalisiertes und sofort verwertbares Format.
Automatische Synchronisation mit dem Lieferland
Wenn der Kunde sein Land im Adressformular auswählt, ändert sich die Vorwahl in der Telefon-Auswahl automatisch. Belgien zu wählen wechselt zu plus 32, Deutschland zu wählen wechselt zu plus 49, ohne manuellen Eingriff. Diese Synchronisation funktioniert auch bei AJAX-Reloads des nativen PrestaShop-Checkouts (Event updatedAddressForm). Für stark angepasste Themes dient ein debouncter MutationObserver als Sicherheitsnetz.
Garantierte E.164-Normalisierung auf Serverseite
Die clientseitige Normalisierung sichert die UX, reicht aber nicht aus. Wenn eine Bestellung über die PrestaShop-REST-API, das Back-Office, einen CSV-Import oder ein anderes Modul, das die Address-Klasse manipuliert, erstellt wird, wird das JS-Formular nie ausgeführt. Deshalb klinkt sich das Modul auch in die Hooks actionObjectAddressAddBefore und actionObjectAddressUpdateBefore ein: vor jedem INSERT oder UPDATE in der Tabelle ps_address durchlaufen die Felder phone und phone_mobile die serverseitige Normalisierung. Keine Umgehung möglich.
Angewendete Normalisierungsregeln
Für eine Adresse, die einem Land mit Vorwahl plus 33 zugeordnet ist: Eine Nummer, die mit plus beginnt, wird wie sie ist beibehalten (nur Leerzeichen und Trennzeichen werden entfernt). Eine Nummer, die mit 00 beginnt, sieht ihr 00 durch plus ersetzt. Eine Nummer, die mit 0 (nationaler Trunk-Prefix) beginnt, sieht die 0 entfernt und durch plus gefolgt von der Landesvorwahl ersetzt. Eine Nummer, die bereits mit der Vorwahl ohne plus beginnt, erhält einfach das plus vorangestellt. Diese Regeln entsprechen dem internationalen E.164-Standard, der von allen Telekommunikationsanbietern und professionellen SMS-Diensten verwendet wird.
Bevorzugte Länder und UX der Auswahl
Standardmäßig sind die Länder Frankreich, Belgien, Luxemburg, Schweiz, Vereinigtes Königreich, Vereinigte Staaten, Deutschland, Spanien, Italien und Niederlande oben in der Liste angeheftet. Diese Liste ist vom Back-Office aus vollständig konfigurierbar (ISO-Codes durch Komma getrennt). Die übrigen Länder erscheinen darunter, alphabetisch sortiert. Eine Suchleiste ermöglicht es, ein Land sofort nach Name, ISO-Code oder Vorwahl zu finden. Die gesamte Liste wird aus den in Ihrem Shop aktivierten Ländern aufgebaut und direkt aus der nativen Spalte ps_country.call_prefix gelesen.
Keine Abhängigkeiten, native Unicode-Flaggen
Das Modul bringt keine externe Bibliothek mit. Kein intl-tel-input zu pflegen, kein jQuery-Plugin, kein schweres CSS-Framework. Flaggen sind Unicode-Emojis (Regional Indicator Symbols), die von allen modernen Browsern und Betriebssystemen nativ unterstützt werden. Das Stylesheet ist unter 4 KB, das Skript unter 16 KB. Kein zusätzlicher Netzwerkaufruf, kein externes CDN, keine Datenweitergabe an Dritte.
Es gibt noch keine Rezensionen.