Rendre le téléphone obligatoire sur PrestaShop 1.7, 8 et 9
PrestaShop

Rendre le téléphone obligatoire sur PrestaShop 1.7, 8 et 9

Rendre le numéro de téléphone obligatoire dans les adresses PrestaShop, sans code : champs requis, format d'adresse par pays, téléphone mobile, et l'override pour les très anciennes versions.

Mis à jour le 1er novembre 2026. Corrections : le réglage des champs requis existait bien avant PrestaShop 1.7.8, la modification du gabarit avec required et pattern est inutile (PrestaShop ajoute lui-même l’attribut), et un champ requis doit aussi figurer dans le format d’adresse du pays. Vérifié sur PrestaShop 9.2.

Le numéro de téléphone permet au transporteur de joindre le client, réduit les colis en souffrance et facilite le service après-vente. Certains transporteurs l’exigent même pour la livraison en point relais. Pourtant, PrestaShop ne le rend pas obligatoire par défaut : sur une installation neuve, le champ « Téléphone » est affiché mais facultatif.

La méthode sans code (PrestaShop 1.6, 1.7, 8 et 9)

  1. Ouvrez Clients > Adresses.
  2. En bas de la liste, cliquez sur Définir les champs requis pour cette section.
  3. Cochez phone (téléphone fixe ou principal) ou phone_mobile (téléphone mobile).
  4. Enregistrez.

Le champ devient obligatoire dans le formulaire d’adresse de la commande et du compte client. PrestaShop ajoute lui-même l’attribut required au champ et l’astérisque à son libellé : aucune modification du thème n’est nécessaire.

Ce réglage n’est pas nouveau : il existait déjà sur PrestaShop 1.6, contrairement à ce qu’indiquait une ancienne version de cet article.

Vérifier le format d’adresse du pays

Un champ requis doit aussi être affiché. Chaque pays a son propre format d’adresse, qui liste les champs du formulaire : International > Zones géographiques > Pays, puis modifiez le pays.

Sur une installation neuve de PrestaShop 9.2, le format de la France contient phone, mais pas phone_mobile. Si vous rendez le mobile obligatoire, ajoutez d’abord phone_mobile au format d’adresse de chaque pays livré : sinon, le client ne peut pas saisir un champ que la boutique exige.

Testez ensuite une commande complète avec un nouveau compte, pour chaque pays de livraison important.

Fixe, mobile ou les deux ?

N’exigez qu’un seul numéro. Pour les SMS de suivi et les transporteurs qui contactent le client, le mobile est le plus utile. Exiger à la fois phone et phone_mobile allonge le formulaire et fait abandonner des commandes.

Une astuce simple : gardez le champ phone comme seul numéro obligatoire, et renommez son libellé en « Téléphone mobile » dans International > Traductions si c’est ce dont votre transporteur a besoin.

Le format du numéro

PrestaShop vérifie que la saisie ressemble à un numéro de téléphone (chiffres, espaces, points, +, tirets, barres obliques, parenthèses), dans la limite de 32 caractères. Il ne vérifie pas que le numéro existe : « 00 00 00 00 00 » passe. Un motif HTML (pattern) dans le gabarit ne l’empêche pas davantage, et s’applique mal aux numéros étrangers. Si la qualité des numéros est un vrai problème, un module de validation par pays est plus fiable.

Pour les très anciennes versions : l’override

Avant que les champs requis ne soient réglables, on rendait le téléphone obligatoire avec une surcharge de la classe AddressFormat. Elle fonctionne encore, mais n’a plus d’intérêt sur une version récente, et une surcharge peut casser lors d’une mise à jour. Ne l’utilisez que si le réglage du back-office n’est pas disponible.

<?php
// override/classes/AddressFormat.php
class AddressFormat extends AddressFormatCore
{
    public static function getFieldsRequired()
    {
        $fields = parent::getFieldsRequired();
        if (!in_array('phone', $fields, true)) {
            $fields[] = 'phone';
        }

        return $fields;
    }
}

Supprimez ensuite l’index des classes pour que PrestaShop prenne la surcharge en compte : var/cache/prod/class_index.php (PrestaShop 1.7 et plus) ou cache/class_index.php (1.6). Si une erreur apparaît, voir Mode debug PrestaShop : activer, lire l’erreur, désactiver.

Bonnes pratiques

Questions fréquentes

Le réglage s’applique-t-il aux adresses déjà enregistrées ?

Non. Les adresses existantes sans téléphone restent valides. Le client devra compléter le numéro la prochaine fois qu’il modifiera son adresse.

Le téléphone obligatoire fait-il baisser les ventes ?

Un champ de plus peut faire hésiter une partie des clients. Expliquer à quoi sert le numéro, et n’en demander qu’un seul, limite cet effet.

Peut-on rendre le téléphone obligatoire pour un seul pays ?

Pas avec le réglage natif, qui vaut pour toutes les adresses, quel que soit le pays. Il faut alors un module ou un petit développement sur mesure.

Pour aller plus loin

Agence web PrestaShop & WordPress

Agence web spécialisée PrestaShop et WordPress : création, maintenance, sécurité, performance et référencement. Nos tutoriels sont issus de nos interventions sur de vraies boutiques.

L'agence Genisoft → LinkedIn →