Aktuálně řešíte "Tlačítkový zákon", bližší informace zde: Odstoupení od smlouvy a vrácení zboží
Modul zkontroluje telefonní číslo hned ve chvíli, kdy ho zákazník zadává do adresy, a po uložení ho automaticky převede na jednotný mezinárodní formát. Překlep v čísle tak zákazník opraví sám ještě před dokončením objednávky – a dopravce, SMS brána i expediční systém dostanou vždy platné číslo ve formátu, kterému rozumí. Modul využívá knihovnu libphonenumber s podporou formátů všech zemí světa.
Kód:
Verze modulu: 4.0.0
Kompatibilita: 1.7, 8, 9
Validace tel. čísel v adrese - konec překlepů, které vám zdraží dopravu
Neplatné telefonní číslo v adrese je drobnost, která stojí skutečné peníze. Dopravci jako Zásilkovna, PPL, DPD či Balíkovna posílají zákazníkům SMS a notifikace o doručení – když číslo nesedí, zpráva nedojde, zákazník si zásilku nevyzvedne a vy platíte zpětné doručení a řešíte reklamaci. Řada dopravců navíc zásilku s nesmyslným číslem vůbec nepřijme přes API. PrestaShop přitom v základu zkontroluje jen to, že pole obsahuje "něco jako číslo" - klidně propustí číslici navíc, chybějící číslici nebo národní číslo bez předvolby u zahraničního zákazníka.
Tento modul kontrolu přebírá: ověří, že jde o skutečně existující formát čísla pro danou zemi, a chybu ukáže zákazníkovi rovnou u pole, dokud je na e-shopu a může ji opravit. To je nejlevnější okamžik, kdy chybu zachytit.
Kontrola probíhá při každém odeslání adresního formuláře - při registraci, v pokladně u nové adresy i při úpravě adresy v zákaznickém účtu. Pokud číslo neodpovídá formátu dané země, formulář se neuloží a zákazník uvidí srozumitelnou chybovou hlášku přímo u telefonního pole. Kontrolují se obě telefonní pole PrestaShopu: Telefon (phone) i Mobilní telefon (phone_mobile), každé lze zapnout samostatně.

Druhá funkce modulu řeší nejednotnost: jeden zákazník napíše 602123456, druhý 602 123 456, třetí 00420602123456. Po uložení adresy modul platné číslo automaticky přepíše na standardní mezinárodní formát +420 602 123 456. Výsledek:
Modul nevyžaduje žádnou složitou konfiguraci. V administraci zapnete, co potřebujete:

Jedna nedoručená zásilka stojí víc než tento modul. Nechte překlepy v telefonu zachytit tam, kde je opraví sám zákazník – ještě před odesláním objednávky.
Parametry modulu
Komentáře k modulům mohou psát jen registrovaní uživatelé. Recenze jsou schvalovány a ověřovány administrátorem e-shopu.
Žádný názor zákazník pro tuto chvíli.
Novou verzi modulu stáhnete ve svém účtu v sekci Moduly a licence a nahrajete ji v administraci přes Moduly → Přidat nový modul. Stará verze se přepíše a data zůstanou zachována – modul předem neodinstalovávejte. Aktualizace jsou zdarma rok od nákupu.
V administraci otevřete Moduly a služby → Přidat nový modul, vyberete ZIP soubor modulu a kliknete na Nahrát. Poté modul v seznamu najdete a stisknete Instalovat. Nahrát jej lze i přes FTP do složky modules, bezpečnější je ale instalace přes administraci.
Modul přeložíte přímo v administraci: v seznamu modulů zvolíte u modulu možnost Přeložit, vyberete cílový jazyk, texty upravíte a uložíte. Pokud modul obsahuje vlastní e-maily, nakopírujte navíc přes FTP jazykové šablony e-mailů podle návodu.
Nemusí. Modul si přečte zemi, kterou zákazník v adrese vybral, a číslo posoudí podle pravidel právě této země. Český zákazník s českou adresou tedy může napsat prostě 602 123 456 – modul ho rozpozná jako platné české mobilní číslo. Stejně tak slovenský zákazník napíše své národní číslo bez +421. Pokud zákazník …
Nic – modul do existujících dat zpětně nezasahuje. Po instalaci se žádné uložené adresy hromadně nemění ani nekontrolují. Validace a normalizace se uplatní až ve chvíli, kdy se adresa znovu ukládá: zákazník ji upraví v účtu, založí novou v pokladně, nebo ji upravíte vy v administraci.
V praxi se tak databáze čísel čistí postupně a bezpečně - každá adresa, která projde úpravou, už zůstane v jednotném mezinárodním formátu. Nemusíte se bát, že by modul jednorázově přepsal tisíce záznamů bez vaší kontroly.
Modul pracuje na dvou úrovních, které se doplňují:
Validace ve formuláři probíhá všude, kde zákazník vyplňuje standardní adresní formulář PrestaShopu: při registraci, při zadání nové adresy v pokladně i při úpravě adresy v zákaznickém účtu. Neplatné číslo formulář zastaví a zákazník vidí chybu přímo u pole.
Normalizace po uložení se spouští při každém uložení adresy kdekoli v systému – tedy i když adresu založíte nebo upravíte ručně v administraci, případně vznikne přes API či jiný modul. Platné číslo se vždy přepíše na mezinárodní formát; neplatné číslo modul nikdy nemění (neopravuje „naslepo“), zůstane tak, jak bylo zadáno.
Ne. Modul nerozhoduje o tom, zda je telefon povinný - to řídíte dál standardním nastavením PrestaShopu (povinná pole adresního formuláře). Modul kontroluje pouze obsah pole, které zákazník skutečně vyplnil. Prázdné pole validací projde bez chyby.
Díky tomu můžete modul nasadit na jakýkoli e-shop bez změny chování formulářů: kdo telefon vyplní, musí ho vyplnit správně - kdo ho vyplnit nemusí a nechce, toho modul neobtěžuje.
Většina dopravců (Zásilkovna, PPL, DPD, Balíkovna a další) posílá zákazníkům SMS a notifikace o zásilce. Jejich systémy a API zpravidla vyžadují číslo s mezinárodní předvolbou – a když ji nedostanou, chovají se různě: některé číslo tiše zahodí (SMS nedojde), jiné zásilku rovnou odmítnou přijmout. Stejné nároky mají SMS brány pro vlastní notifikace e-shopu.
Jednotný formát +420 602 123 456 tyto problémy odstraňuje u zdroje: do expedice, exportů i propojených systémů odchází vždy číslo ve tvaru, kterému rozumí všechny strany. Bonus navíc: v administraci snadno vyhledáte zákazníka podle telefonu, protože stejné číslo nemůže být uloženo ve třech různých zápisech.
Ano, bez omezení. Modul je postaven na knihovně libphonenumber, která obsahuje průběžně aktualizované číslovací plány všech zemí světa (stejnou knihovnu používá Google v Androidu pro práci s telefonními čísly). Německý zákazník s německou adresou tedy zadává německé číslo, polský polské – každé se ověří podle pravidel své země, včetně správné délky a platných předvoleb operátorů.
Země se určuje z adresy, kterou zákazník právě vyplňuje; pokud by ji nebylo možné zjistit, použije se výchozí země vašeho obchodu. Číslo zadané s mezinárodní předvolbou (+…) se rozpozná vždy správně bez ohledu na zemi adresy.
Ano, funkce jsou nezávislé. V nastavení modulu jsou čtyři samostatné přepínače:
Typické kombinace: kontrolovat jen pole, které skutečně používáte v pokladně; nebo nechat validaci vypnutou a používat pouze tichou normalizaci formátu; nebo naopak jen validovat a formát zápisu nechat na zákaznících. Normalizace se vždy týká jen polí, která máte zapnutá k validaci.
Nic se neděje, dokud adresu neupravuje - modul existující data zpětně nemění. Ve chvíli, kdy zákazník adresu otevře a znovu uloží (např. při další objednávce mění ulici), validace ho na neplatné číslo upozorní a požádá o opravu. To je žádoucí chování: chybné číslo se opraví přesně v okamžiku, kdy je zákazník na e-shopu a může to udělat sám.
Pokud byste na přechodnou dobu chtěli tomuto chování zabránit, stačí v nastavení vypnout validaci a nechat zapnutou pouze normalizaci - formuláře pak nic neblokují a platná čísla se dál sjednocují.
Modul nezasahuje do šablony, do JavaScriptu ani do jádra PrestaShopu. Validace se napojuje na standardní validační háček adresního formuláře PrestaShopu (hook actionValidateCustomerAddressForm), takže funguje s výchozí pokladnou i s pokladnami třetích stran, které staví na nativním adresním formuláři – což je naprostá většina one-page checkout modulů.
Pokud by nějaký exotický checkout jádrovou validaci obcházel, stále platí druhá pojistka: normalizace se spouští po každém uložení adresy do databáze, nezávisle na tom, odkud uložení přišlo. Chybová hláška se zobrazuje standardním mechanismem formulářových chyb, přebírá tedy vzhled vaší šablony a lze ji přeložit v překladech modulu.
Ne a ne. Veškerá kontrola probíhá výhradně na vašem serveru pomocí knihovny libphonenumber, která je součástí modulu. Modul při validaci nevolá žádnou externí službu, neposílá data třetím stranám a nevyžaduje žádný API klíč ani průběžné poplatky.
Výkonnostně je zátěž zanedbatelná: kontrola se spouští pouze v okamžiku odeslání adresního formuláře či uložení adresy – tedy jednotky milisekund jednou za objednávku, nikoli při každém zobrazení stránky. Na rychlost procházení e-shopu nemá modul žádný vliv.
Okamžitě ke stažení bez čekání
Zakoupené moduly máte automaticky k dispozici ihned po potvrzení platby.
Neomezená licence
Licenci k zakoupenému modulu máte udělenou bez časového omezení.
Vývoj s historií
od roku 2010 aktivně programuji pro platformu PrestaShop.
Telefonická i e-mailová podpora
Ke každému nákupu máte k dispozici podporu přímo od autora.
© 2015 - 2026 David Mrózek, Horní Bludovice 251, 739 37 Horní Bludovice, IČ: 70624569, DIČ: CZ7908015126
