# Internationale Telefonvorwahl (dfphoneintl)

> Überblick DataFirefly International Phone Input (dfphoneintl) fügt eine Vorwahl-Auswahl mit Länderflagge auf den PrestaShop-Feldern Telefon und Mobiltelefon hinzu und normalisiert die Nummern in der Datenbank in das internationale E.164-Format. Das…

- Seite: <https://www.datafirefly.com/de/documentation/dfphoneintl/>
- Sprache: de
- Aktualisiert am: 2026-07-01
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/dfphoneintl/index.md), [en](https://www.datafirefly.com/en/documentation/dfphoneintl/index.md), [es](https://www.datafirefly.com/es/documentation/dfphoneintl/index.md), [it](https://www.datafirefly.com/it/documentation/dfphoneintl/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfphoneintl/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfphoneintl/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfphoneintl/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

## Überblick

DataFirefly International Phone Input (`dfphoneintl`) fügt eine Vorwahl-Auswahl mit Länderflagge auf den PrestaShop-Feldern **Telefon** und **Mobiltelefon** hinzu und normalisiert die Nummern in der Datenbank in das internationale E.164-Format. Das Modul arbeitet auf zwei Ebenen: im Browser für die Benutzererfahrung und serverseitig, um zu garantieren, dass jede Adress-Einfügung oder -Aktualisierung — auch über API, Back-Office oder Import — eine normalisierte Nummer erzeugt.

Speicherformat: Für einen französischen Kunden, der `0633547864` eingibt, lautet der in der Datenbank gespeicherte Wert `+33633547864` — Landesvorwahl, führende 0 (Trunk-Prefix) entfernt, keine Leerzeichen oder Trennzeichen.

## Voraussetzungen

- PrestaShop 8.0.0 bis 9.99.99
- PHP 7.4 Minimum (8.1+ empfohlen)
- Keine externen Abhängigkeiten — das Modul enthält keine Drittanbieter-Bibliothek

## Installation

1. Laden Sie das Archiv `dfphoneintl-1.0.0.zip` aus Ihrem DataFirefly-Kundenkonto herunter.
2. Gehen Sie im PrestaShop-Back-Office zu **Module → Modul-Manager → Modul hochladen**.
3. Ziehen Sie die ZIP-Datei per Drag-and-drop und klicken Sie auf **Installieren**.
4. Das Modul registriert sich automatisch auf den erforderlichen Hooks. Es wird keine SQL-Tabelle erstellt — die Vorwahlen werden aus der nativen Tabelle `ps_country` gelesen.

## Konfiguration

Gehen Sie zu **Module → Modul-Manager → DataFirefly International Phone Input → Konfigurieren**. Drei Einstellungen sind verfügbar:

- **Auf dem Feld „Telefon" aktivieren** — aktiviert oder deaktiviert die Auswahl und die Normalisierung auf dem Feld `phone`.
- **Auf dem Feld „Mobiltelefon" aktivieren** — dasselbe für das Feld `phone_mobile`.
- **Bevorzugte Länder** — durch Kommas getrennte ISO2-Codes (z. B. `fr,be,lu,ch,gb,us,de`). Diese Länder werden oben in der Dropdown-Liste angeheftet. Standardwert: `fr,be,lu,ch,gb,us,de,es,it,nl`.

Die in der Auswahl angezeigten Länder stammen aus den in Ihrem Shop **aktivierten** Ländern (Versand → Standorte → Länder). Ein deaktiviertes Land oder eines ohne Vorwahl in der Spalte `call_prefix` erscheint nicht.

## Clientseitiges Verhalten

### Abgedeckte Seiten

Die Auswahl erscheint auf allen Front-Office-Seiten mit Telefonfeldern: Kontoerstellung, Registrierung, Adressverwaltung, Checkout (5-Schritt und One-Page), Identitätsseite, Kontaktseite und Gast-Bestellverfolgung.

### Ländersynchronisation

Wenn der Kunde das Land im Adressformular ändert, aktualisiert sich die Vorwahl der Auswahl automatisch. Die Wahl von Belgien wechselt zu +32, Deutschland zu +49 usw. Diese Synchronisation funktioniert auch bei AJAX-Reloads des nativen Checkouts: Das Modul hört auf die PrestaShop-Events `updatedAddressForm`, `updatedAddress`, `updateCustomerAddressForm` und `changedCheckoutStep`, mit einem debouncten MutationObserver als Sicherheitsnetz für stark angepasste Themes.

### Erkennung bei bestehenden Adressen

Enthält das Feld bereits eine Nummer im internationalen Format (Bearbeitung einer bestehenden Adresse), erkennt das Modul das entsprechende Land über die längste Vorwahl-Übereinstimmung (longest dial-code match): `+1242...` wird als Bahamas erkannt, nicht als Vereinigte Staaten.

## Serverseitiges Verhalten

Die serverseitige Normalisierung ist an die Hooks `actionObjectAddressAddBefore` und `actionObjectAddressUpdateBefore` angebunden. Vor jedem INSERT oder UPDATE in der Tabelle `ps_address` durchlaufen die Felder `phone` und `phone_mobile` die Klasse `DfPhoneFormatter`. Das deckt alle Schreibkanäle ab: Front-Office-Formulare, Back-Office, Webservice, CSV-Importe und Drittanbieter-Module, die die Klasse `Address` manipulieren.

### Normalisierungsregeln

Für eine Adresse, die einem Land mit Vorwahl +33 zugeordnet ist:

- Nummer, die mit `+` beginnt → wird wie sie ist beibehalten, nur Trennzeichen werden entfernt: `+33 6 33 54 78 64` wird zu `+33633547864`.
- Nummer, die mit `00` beginnt → das `00` wird durch `+` ersetzt: `0033633547864` wird zu `+33633547864`.
- Nummer, die mit `0` (Trunk-Prefix) beginnt → die `0` wird entfernt und die Vorwahl vorangestellt: `0633547864` wird zu `+33633547864`.
- Nummer, die bereits mit der Vorwahl ohne `+` beginnt → das `+` wird einfach hinzugefügt: `33633547864` wird zu `+33633547864`.
- Jede andere Nummer nur aus Ziffern → die Vorwahl wird vorangestellt.

Bestehende Adressen werden bei der Installation **nicht** rückwirkend geändert. Die Normalisierung greift beim nächsten Speichern jeder Adresse. Für eine Massen-Normalisierung der Bestandsdaten kontaktieren Sie den Support — ein SQL-Skript mit derselben Logik ist auf Anfrage verfügbar.

## Theme- und Checkout-Kompatibilität

- PS 8 Classic-Theme (Bootstrap 4) und PS 9-Theme (Bootstrap 5) nativ unterstützt.
- 5-Schritt-Checkout und One-Page-Checkout (OPC) unterstützt.
- Flaggen sind Unicode-Emojis (Regional Indicator Symbols): kein Sprite, kein CDN, native Darstellung in allen modernen Browsern und Betriebssystemen.
- Multistore: globale Einstellungen, Länderliste pro Shop gefiltert.
- Mehrsprachig: Ländernamen in der Sprache des Besuchers.

## Fehlerbehebung

### Die Auswahl erscheint nicht

- Prüfen Sie, ob das Feld in der Modulkonfiguration aktiviert ist.
- Prüfen Sie, ob Ihr Theme die Standard-Feldnamen `phone` / `phone_mobile` (oder `address[phone]` / `address[phone_mobile]`) verwendet. Bei einem von einem Custom-Theme umbenannten Feld kontaktieren Sie den Support.
- Leeren Sie den PrestaShop-Cache (Erweiterte Einstellungen → Leistung) nach der Installation.

### Flaggen werden als Buchstaben angezeigt (FR, BE...)

Erwartetes Verhalten auf einigen älteren Windows-Systemen, die Flaggen-Emojis nicht darstellen. Die Vorwahl `+33` bleibt sichtbar und das Modul bleibt voll funktionsfähig.

### Die Vorwahl folgt dem Länderwechsel nicht

Bei einem stark angepassten Theme, dessen Länder-Select nicht den Namen `id_country` verwendet, kann sich die automatische Synchronisation nicht einklinken. Der MutationObserver reinitialisiert dennoch das Widget, und der Kunde kann seine Vorwahl manuell wählen. Kontaktieren Sie den Support mit der URL Ihres Shops für eine Anpassung.

## Deinstallation

Die Deinstallation entfernt die drei Konfigurationsschlüssel des Moduls. Bereits normalisierte Nummern in der Datenbank bleiben im internationalen Format — keine Kundendaten werden geändert oder gelöscht.

## Support

E-Mail-Support inklusive, Updates 12 Monate inklusive. 14 Tage Geld-zurück-Garantie auf alle DataFirefly-Module.
