Jump to content

Formát telefonu


Erik Nisler

Recommended Posts

Zdravím, potřeboval bych pomoci s formátem telefonu.

Zákazník si může zadat libovolný počet cifer u telefonu a objednávku dokončit. Někdy se stane, že zákazník vynechá číslo nebo omylem jedno přidá a ztěžuje nám to dopravu, kontrolovat u každé objednávky telefonní číslo je dost otrava.

Moje otázka je tedy, jak nastavit, aby zákazník mohl zadat pouze 9 cifer?

Děkuji,

Link to comment
Share on other sites

Verze Prestashopu ?

Upravuje se to ve Validation.php

Hledej funkci isPhoneNumber.

Zde se přidá podmínka 

if (strlen($number)==9){ return preg_match ....} else { return false;   }

 

celé to bude takto ./classic/Validation.php:

  public static function isPhoneNumber($number)
    {
      if (strlen($number)==9){
        return preg_match('/^[+0-9. ()\/-]*$/', $number);
      } else {
        return false;
      }
    }

Samozřejmě jde napsat i override, aby jsi o úpravu v případě aktualizace Prestashopu nepřišel.

 

Stačí tento kód uložit do složky ./override/classes/Validate.php

<?php

class Validate extends ValidateCore
{
    public static function isPhoneNumber($number)
    {
      if (strlen($number)==9){
        return preg_match('/^[+0-9. ()\/-]*$/', $number);
      } else {
        return false;
      }
    }
}

 

Edited by Guest (see edit history)
Link to comment
Share on other sites

🙂 ten druhý by jsi zkopíroval do txt souboru, uložil jako Validate.php a uložil do ovwrride/classes složky.

No, to nevadí.

Ještě bych tu funkci upravil např. takto:

public static function isPhoneNumber($number)
    {
        return (preg_match('/^[+0-9. ()-]*$/', $number) AND strlen($number) == 9);
    }

A ještě by bylo potřeba upravit funkci v validate.js.

Otevři si soubor ./js/validate.js

Najdi :

function validate_isPhoneNumber(s)
{
	var reg = /^[+0-9. ()-]+$/;
	return reg.test(s);
}

a uprav na:

function validate_isPhoneNumber(s)
{
	var reg = /^[+0-9. ()-]+$/;
	return (reg.test(s) && s.length == 9);
}

 

Link to comment
Share on other sites

Nástroje => výkon

Drž se podle obrázku a vymaž cache.

Musíš taky i ve tvém prohlížeči vymazat cache, nejen v administraci !!!

obrazek.png.3c516cd157674c2cf3000f7b25002fa6.png

Link to comment
Share on other sites

Kdyžtak mi pošleš do PM přístupy na FTP a do administrace a já ti na oplátku pošlu číslo účtu 😉

Link to comment
Share on other sites

A jak je možné, že to u mně funguje na stejné verzi Prestashopu?

Je úprava v obou souborech ?

Validate.php a validate.js ?

 

Link to comment
Share on other sites

Samozřejmě, že to máš blbě.

To je tak, když se nečtou celé příspěvky.

tento příspěvek

Validate.php

máš:

public static function isPhoneNumber($number)
    {
      if (strlen($number)==9){
        return preg_match('/^[+0-9. ()\/-]*$/', $number);
      } else {
        return false;
      }
    }

 má být:

public static function isPhoneNumber($number)
    {
        return (preg_match('/^[+0-9. ()-]*$/', $number) AND strlen($number) == 9);
    }

 

Link to comment
Share on other sites

Jo, super, už to funguje, netuším, kde jsem dělal chybu, ten druhý způsob co jsi poslal už funguje, zkusil jsem ten první ale nešel, ten druhý jsem taky zkoušel a taky nešel, teď najednou ano, příště budu pozornější,

děkuju za tvou pomoc!:)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...