Jump to content

[Résolu] Editer le formulaire d'inscription et le formulaire adresse


Recommended Posts

Bonjour,
Voilà je suis nouveau sur ce forum et nouvel utilisateur de Prestashop. Je commence à bien le prendre en main, cependant j'ai tout de même un petit problème.
Sur la page address.php nous avons plusieurs champs à remplir, dont certains n'acceptent pas les caractères spéciaux tel le "!" ou encore le "?".
Actuellement le seul champs qui accepte ceci est le champs société. Voilà pourquoi je sollicite votre aide. J'aimerais que tous les champs disponibles ( téléphone, code postal, Adresse, Adresse(2),etc... puissent accueillir des lettres + chiffres + caractères spéciaux.

De plus j'aimerais que sa soit possible dès l'inscription du client sur la page authentication.php

Je vous remercie vraiment pour votre aide car la je suis vraiment bloqué.
Cordialement, Frenchmmo

Link to comment
Share on other sites

Hello et bienvenue à toi.
En fait, il faut modifier tes class Customer et Adress.

Pour la class Customer.php par exemple, tu as :

protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd',
        'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool');



C'est la fonction isName() de la class Validate.php qui va vérifier que le prénom par exemple correspond bien au format attendu (regex).

Si tu remplace dans ta class Customer.php isName() par isGenericName() pour ton prénom par exemple, tu pourras autoriser la saisie de caractère spéciaux.

Exemple :

protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isGenericName', 'email' => 'isEmail', 'passwd' => 'isPasswd',
        'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool');




As toi de jouer.

Cdlt,
Pierre.

Link to comment
Share on other sites

Ok je vois un peu ce que tu veux m'expliquer. Je suis également à la ligne que tu m'a indiqué. Si je modifie mon fichier en suivant ton exemple, est ce que sa va prendre en compte tous les champs ou seulement un champs en particulier ?

Je te remercie encore pour ta réponse et pour ton accueil.
Cordialement.

Link to comment
Share on other sites

Je me permet de faire un petit up.
Je reprend donc ou j'en étais. Si je modifie mon fichier en y mettant ce code :

protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isGenericName', 'firstname' => 'isGenericName', 'email' => 'isGenericName', 'passwd' => 'isGenericName',
        'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool'); 



Est ce que cette fois, mes clients pourront mettre des caractères spéciaux dans tous les champs du fichier address.php ou je dois encore modifier autre chose ?
Merci d'avance pour ton aide.

Link to comment
Share on other sites

Merci pour ta réponse.
Je viens de regarder un peu le fichier Validate.php Je me demandais pourquoi ne pas supprimer les caractères spéciaux directement dans ce fichier.
Exemple :

    static public function isGenericName($name)
   {
       return empty($name) OR preg_match('/^[^<>;=#{}]*$/ui', $name);
   }



Pourquoi ne pas supprimer ==> /^[^<>;=#{}]*$/ui ?

Je dis peut être des conneries je ne sais pas, justement j'ai du mal à comprendre certains thermes en php.

Cordialement.

Link to comment
Share on other sites

  • 1 month later...

bonjour
moi aussi j'ai un problème avec les champs du formulaire d'inscription. les 2 champs qui m’intéressent sont nom et prénom car, comme PS accepte les - (tirets 6) dans ces 2 champs alors le client peut insérer un - comme nom et prénom et comme ça j'aurais Mr - - !!!
j'ai trouvé la fonction isName dans validate.php et je me demande si je peut la modifier pour quelle accepte une chaîne contenant des lettres alphabétiques mais je suis null en php.j'ai essayé avec ctyope_alpha mais ça marche pas

Link to comment
Share on other sites

  • 1 year later...

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