Tutto quello che vorresti sapere prima di installare.
Uno sguardo dettagliato su come funziona Prefisso Telefono Internazionale PrestaShop — Bandiere & Normalizzazione E.164, perché l'abbiamo progettato così, e il ragionamento dietro le funzionalità qui sopra.
Il problema: numeri di telefono illeggibili, incomparabili, incontattabili
Su un negozio multi-paese, i numeri di telefono arrivano in database in tutti i formati immaginabili: 333 12 34 567, 3331234567, +39 333 12 34 567, 0039 333 12 34 567, 39-333-1234-567. Conseguenza: impossibile rilevare i clienti duplicati, gli export verso un CRM o un ERP devono essere puliti manualmente, i servizi di SMS transazionale rifiutano un numero su tre, e i team commerciali perdono tempo a riformattare prima di ogni chiamata internazionale.
La soluzione: un formato unico, una UX chiara, una garanzia server
Il modulo aggiunge un selettore di prefisso con bandiera direttamente sui campi telefono e telefono mobile, ovunque appaiano: form di registrazione, gestione indirizzi, checkout in 5 step o one-page. Il cliente vede immediatamente quale prefisso è applicato, può cambiarlo in due clic, e la lista si filtra tramite ricerca istantanea. Lato database, indipendentemente da ciò che il cliente digita, recuperi sempre un formato pulito, normalizzato, immediatamente sfruttabile.
Sincronizzazione automatica con il paese di consegna
Quando il cliente seleziona il suo paese nel form di indirizzo, il prefisso del selettore telefono cambia automaticamente. Selezionare Belgio passa a +32, selezionare Germania passa a +49, senza intervento manuale. Questa sincronizzazione funziona anche sulle ricariche AJAX del checkout PrestaShop nativo (evento updatedAddressForm). Per i temi molto personalizzati, un MutationObserver con debounce funge da rete di sicurezza.
Normalizzazione E.164 garantita lato server
La normalizzazione lato browser protegge l'UX, ma non basta. Se un ordine viene creato tramite l'API REST PrestaShop, tramite il back-office, tramite un import CSV, o tramite un altro modulo che manipola la classe Address, il form JS non viene mai eseguito. Per questo il modulo collega anche gli hook actionObjectAddressAddBefore e actionObjectAddressUpdateBefore: prima di ogni INSERT o UPDATE sulla tabella ps_address, i campi phone e phone_mobile passano per la normalizzazione lato server. Nessuna via di aggiramento possibile.
Regole di normalizzazione applicate
Per un indirizzo collegato a un paese il cui prefisso è +39: un numero che inizia con + viene conservato così com'è (vengono rimossi solo gli spazi e i separatori). Un numero che inizia con 00 vede il 00 sostituito da +. Un numero che inizia con 0 (trunk prefix nazionale) vede lo 0 rimosso e sostituito da + seguito dal prefisso del paese. Un numero che inizia già con il prefisso senza il + vede semplicemente il + aggiunto. Queste regole sono conformi allo standard E.164 internazionale utilizzato da tutti gli operatori telecom e i servizi SMS professionali.
Paesi preferiti e UX del selettore
Di default, i paesi Italia, Francia, Spagna, Germania, Regno Unito, Stati Uniti, Belgio, Svizzera, Paesi Bassi e Lussemburgo sono fissati in cima alla lista. Questa lista è interamente configurabile dal back-office (codici ISO separati da virgola). Gli altri paesi appaiono sotto, ordinati alfabeticamente. Una barra di ricerca permette di trovare istantaneamente un paese per nome, codice ISO o prefisso. Tutta la lista è costruita a partire dai paesi attivati nel tuo negozio, letta direttamente dalla colonna ps_country.call_prefix nativa.
Zero dipendenze, bandiere Unicode native
Il modulo non integra alcuna libreria esterna. Niente intl-tel-input da mantenere, niente plugin jQuery, niente framework CSS pesante. Le bandiere sono emoji Unicode (Regional Indicator Symbols) supportate nativamente da tutti i browser e OS moderni. Il foglio di stile fa meno di 4 KB, lo script meno di 16 KB. Nessuna chiamata di rete aggiuntiva, nessun CDN esterno, nessuna fuga di dati verso terzi.
Ancora non ci sono recensioni.