PrestaShop Checkout & betaling

Internationaal telefoonnummerveld PrestaShop: landvlaggen & E.164-normalisatie

Een landnummerkiezer met vlag op de telefoonvelden, in real time gesynchroniseerd met het land van het adres, en een gegarandeerde E.164-normalisatie in de database. Nooit meer slecht opgemaakte nummers in uw bestellingen.

Schone telefoonnummers, van het formulier tot in de database

PrestaShop 8 PrestaShop 9 Meertalig Multistore E.164 Nul afhankelijkheden
  • 30 dagen geld terug
  • 12 maanden updates
  • Support binnen 24 uur
www.datafirefly.com/nl/
Champ de saisie de téléphone international avec indicatifs pays sur PrestaShop
v1.0.0 · bijgewerkt 2026-05-15
Wat het doet

De korte versie.

01

Landnummerkiezer met vlag

Alle in de winkel geactiveerde landen zijn beschikbaar, met hun landnummer en hun vlagemoji. Direct zoeken in de lijst, met voorkeurslanden bovenaan vastgezet.

02

Automatische synchronisatie met het land van het adres

Kiest de klant Nederland in het formulier, dan springt het landnummer automatisch op plus 31. De kiezer blijft gesynchroniseerd in de checkout en in het klantenaccount, ook bij herladen via AJAX.

03

Gegarandeerde E.164-normalisatie in de database

Welk formaat de klant ook invoert (06 33 54 78 64, 0633547864, plus 33 6 33 54 78 64, 0033...), de waarde in de database staat altijd in het internationale formaat plus 33 6 33 54 78 64 zonder spaties of scheidingstekens.

04

Dubbele laag: frontend en server

De normalisatie gebeurt in de browser voor de gebruikservaring, maar ook aan de serverzijde in de hooks actionObjectAddressAddBefore en actionObjectAddressUpdateBefore. Er is geen enkele omweg, ook niet via de API of een CSV-import.

De lange versie

Alles wat u wilt weten voordat u installeert.

Een gedetailleerde blik op hoe Internationaal telefoonnummerveld PrestaShop: landvlaggen & E.164-normalisatie werkt, waarom we het zo gebouwd hebben en de gedachte achter de bovenstaande functies.

§ 01

Het probleem: telefoonnummers die onleesbaar, onvergelijkbaar en onbereikbaar zijn

In een webshop die meerdere landen bedient, komen telefoonnummers in alle denkbare formaten in de database terecht: 06 33 54 78 64, 0633547864, plus 33 6 33 54 78 64, 0033 6 33 54 78 64, 33-633-547-864. Het gevolg: dubbele klanten zijn niet te herkennen, exports naar een CRM of ERP moeten handmatig worden opgeschoond, diensten voor transactionele sms weigeren één op de drie nummers, en verkoopteams verliezen tijd met herformatteren vóór elk internationaal gesprek.

§ 02

De oplossing: één formaat, een heldere gebruikservaring en een garantie aan de serverzijde

De module voegt een landnummerkiezer met vlag rechtstreeks toe aan de velden telefoon en mobiele telefoon, overal waar die verschijnen: registratieformulier, adresbeheer, checkout in 5 stappen of op één pagina. De klant ziet meteen welk landnummer wordt toegepast, kan het met twee klikken wijzigen, en de lijst filtert zich met direct zoeken. In de database krijgt u, wat de klant ook intikt, altijd een schoon, genormaliseerd en meteen bruikbaar formaat.

§ 03

Automatische synchronisatie met het bezorgland

Wanneer de klant zijn land in het adresformulier kiest, verandert het landnummer in de telefoonkiezer automatisch mee. België kiezen schakelt naar plus 32, Duitsland naar plus 49, zonder handmatige ingreep. Die synchronisatie werkt ook bij het herladen van de native PrestaShop-checkout via AJAX (het event updatedAddressForm). Voor sterk aangepaste thema's dient een MutationObserver met debounce als vangnet.

§ 04

Gegarandeerde E.164-normalisatie aan de serverzijde

Normalisatie in de browser beveiligt de gebruikservaring, maar volstaat niet. Wordt een bestelling aangemaakt via de REST API van PrestaShop, via de backoffice, via een CSV-import of via een andere module die de klasse Address manipuleert, dan wordt de JavaScript van het formulier nooit uitgevoerd. Daarom haakt de module ook in op actionObjectAddressAddBefore en actionObjectAddressUpdateBefore: vóór elke INSERT of UPDATE op de tabel ps_address gaan de velden phone en phone_mobile door de normalisatie aan de serverzijde. Er is geen enkele omweg mogelijk.

§ 05

Toegepaste normalisatieregels

Voor een adres dat aan een land met landnummer plus 33 hangt: een nummer dat met plus begint blijft ongewijzigd (alleen spaties en scheidingstekens worden verwijderd). Bij een nummer dat met 00 begint wordt de 00 door plus vervangen. Bij een nummer dat met 0 begint (de nationale trunk prefix) wordt die 0 verwijderd en vervangen door plus gevolgd door het landnummer. Een nummer dat al met het landnummer begint maar zonder plus, krijgt gewoon de plus erbij. Die regels volgen de internationale E.164-norm die alle telecomoperatoren en professionele sms-diensten hanteren.

§ 06

Voorkeurslanden en de gebruikservaring van de kiezer

Standaard staan Frankrijk, België, Luxemburg, Zwitserland, het Verenigd Koninkrijk, de Verenigde Staten, Duitsland, Spanje, Italië en Nederland bovenaan de lijst vastgezet. Die lijst is volledig instelbaar vanuit de backoffice (ISO-codes gescheiden door komma's). De overige landen verschijnen eronder in alfabetische volgorde. Met een zoekbalk vindt u een land meteen op naam, ISO-code of landnummer. De hele lijst wordt opgebouwd uit de landen die in uw winkel geactiveerd zijn, rechtstreeks gelezen uit de native kolom ps_country.call_prefix.

§ 07

Nul afhankelijkheden, native Unicode-vlaggen

De module bevat geen enkele externe bibliotheek. Geen intl-tel-input om te onderhouden, geen jQuery-plugin, geen zwaar CSS-framework. De vlaggen zijn Unicode-emoji's (Regional Indicator Symbols) die alle moderne browsers en besturingssystemen native ondersteunen. Het stylesheet weegt minder dan 4 kB, het script minder dan 16 kB. Geen extra netwerkaanroep, geen externe CDN en geen gegevenslek naar een derde partij.