PS PrestaShop Anfänger

Internationale Telefonvorwahl (dfphoneintl)

Installation, Konfiguration und E.164-Normalisierungsregeln des internationalen Telefonvorwahl-Moduls mit Flagge für PrestaShop 8 und 9.

Aktualisiert Modulversion 1.0.0

Ü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.

War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren