Jump to content

Erreurs champs requis dans la commande express (guest checkout)


Recommended Posts

Bonjour,

 

Le problème est le suivant : Lorsqu'un client veut faire une commande express pour ne pas avoir à s'inscrire il doit tout de même remplir le formulaire de commande instantanée. Hors lors de la validation de ce formulaire pour passer à l'étape suivante, un message d'erreur apparaît en rouge indiquant :

Il y a 2 erreurs

  1. Nom de famille requis
  2. Prénom requis

Mais ces champs ont bien été remplis. L'essai a été renouvelé par plusieurs personnes à maintes tentatives mais le problème subsiste. 

Quelle serait la solution ?

Link to comment
Share on other sites

  • 1 month later...

Bonjour PBLevis,

j'ai eu ce problème il y a fort longtemps et j'avais laissé tomber, mais là en y revenant, j'ai trouvé (enfin pourquoi ca ne marchait pas chez moi).

 

Il s'agit d'un vieux bug Prestashop qui a été récupéré tel quel dans authentication.tpl par la boite qui a fait mon thème. Certainement corrigé depuis par PS, la correction ne s'est pas propagée toute seule au thème ^^

 

Ouvre le fichier www/themes/<ton_theme>/authentication.tpl   (en mettant bien sur le nom de ton thème à la place de <ton_theme>)

Trouve le bloc de code commençant par :

    {if isset($inOrderProcess) && $inOrderProcess && $PS_GUEST_CHECKOUT_ENABLED}

(chez moi c'est ligne 102)

 

En dessous, tu dois avoir la ligne suivante :

                        <input type="text" class="is_required validate form-control" data-validate="isName" id="firstname" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" />

(chez moi c'est ligne 130)

Si après tu as une ligne blanche puis la fin de la div (</div>), alors comme moi, il te manquait la ligne suivante :

                        <input type="hidden" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" />                        
 

Idem dans le bloc dessous pour le lastname,

Après la ligne :

                        <input type="text" class="is_required validate form-control" data-validate="isName" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" />

Tu dois avoir la ligne :
                        <input type="hidden" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" />                        
 

Si tu ne l'as pas, ajoute la.

 

En espérant que cela t'aura aidé (ou en aidera d'autres).

 

 

Dernière chose, j'ai du désactiver le cache smarty et forcer la recompilation des templates pour que ca marche (au moins une fois, ensuite du peux réactiver et mettre le cache en ne jamais recompiler).

Edited by cinevente.com (see edit history)
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...