08 Juin 2018

Error Address->phone_mobile prestashop 1.7

22/06/2021 : Ce problème a été corrigé à partir de Prestashop 1.7.4.4. Migrez jusqu’à cette version dans l’idéal et surtout n’oubliez pas de faire une sauvegarde complète de votre site internet.

L’erreur 500 est-elle votre pire ennemie ? Peut-être ! Sur Prestashop 1.7 j’ai eu le droit à une erreur sur la page commande. Le tunnel d’achat étant simplifié sur cette version de Prestashop dès que quelque chose ne va pas, toute la page saute. Je vais vous montrer une solution qui est peut-être liée à votre problème !

Activer les erreurs sur Prestashop 1.7

Une page simple avec le message erreur 500 ne va pas vraiment nous aider.
Il faut donc activer le mode debug pour voir si une erreur remonte sur le site.

Deux solutions :
– Par le back-office, allez dans paramètres avancés > Performances et activez le mode debug
– Par FTP dans le dossier config et ouvrir le fichier defines.inc.php. Changez :

define('_PS_MODE_DEV_', false);

en

define('_PS_MODE_DEV_', true);

Suivez mon tutoriel vidéo pour afficher le mode debug depuis l’administration du site ou via le code :

Détecter l’erreur

En activant les erreurs Prestashop je me suis retrouvé avec ce message ci-dessous.

error-address-phone-mobile-prestashop-1-7client adresses décocher en bas

Dans mon cas le problème est apparu suite à l’installation par mon client d’un thème.
La version : Prestashop 1.7.2.4.
Le problème est que le champ téléphone mobile est obligatoire. Du coup même si un de vos clients renseigne un téléphone fixe le mobile est obligatoire pour le fonctionnement du compte.

Nativement Prestashop gère cette obligation entre le téléphone fixe et portable.
Nous allons donc désactiver cette obligation assez simplement.

Résoudre l’erreur Address->phone_mobile sans le rendre obligatoire

Pour cela rendez-vous dans le back-office et allez dans clients -> adresses :

Tout en bas de votre liste client vous allez afficher les champs obligatoires pour l’inscription client.
Dans cette liste il y aura phone_mobile de cocher, il suffit tout simplement de décocher et d’enregistrer.

champs-requis-compte-prestashop-1-7

Vous avez encore le problème juste après ça ?
Videz votre cache navigateur, dans le back-office de Prestashop aussi et surtout n’oubliez pas d’enlever le mode debug aussi.

Avoir le numéro de téléphone obligatoire sur Prestashop malgré l’erreur 500

La solution est d’éditer les champs requis dans Prestashop et plus précisément le fichier classes>AddressFormat.php.

Il faut rajouter le téléphone à la ligne 56 :

/** @var array Default required form fields list */
public static $requireFormFieldsList = array(
'firstname',
'lastname',
'address1',
'city',
'phone',
'Country:name',
);

Vous devriez créer un override pour faire cela “proprement”.

Comment ajouter le numéro de mobile dans Prestashop 1.7

Malgré cette erreur, nativement sur cette version 1.7, au niveau de l’enregistrement de l’adresse, le client dispose d’un seul champ téléphone. Vous pouvez rajouter un champ dans le formulaire d’inscription de l’adresse depuis le back-office.

Cela va permettre de rajouter un nouveau champ téléphone mobile pour vous permettre de récolter cette donnée.

J’ai écris un tutoriel Prestashop sur mon blog pour vous expliquer comment faire : Ajouter un champ téléphone mobile sur Prestashop 1.7

Vous n’arrivez pas à corriger l’erreur Address->phone_mobile ?

– Trouver l’erreur exacte
– Résolution du problème selon les options de l’article
– Test de création d’un compte et nettoyage du cache Prestashop

Commandez un ticket de support Prestashop 1.7 sur mon e-chop pour une intervention sur votre site.