Le formulaire de contact est une des pierres angulaires d’une boutique en ligne. Il permet de recueillir des messages, de gérer les demandes clients, ou encore d’établir un premier lien de confiance. Cependant, PrestaShop propose par défaut un formulaire de contact standard, qui peut ne pas correspondre aux besoins spécifiques de votre activité.

Difficulté : Facile | Temps : 60 minutes | Coût : Gratuit

Réponse directe : comment personnaliser le formulaire

Pour personnaliser le formulaire de contact PrestaShop : rendez-vous dans Back-office → Vendre → Service clients → Contacts. Vous pouvez modifier les objets disponibles, ajouter des champs via override ou utiliser un module dédié. Ce guide couvre les 3 méthodes.

Pourquoi personnaliser le formulaire de contact dans PrestaShop ?

Chaque entreprise a ses particularités. Selon votre activité, il peut être essentiel de demander des informations spécifiques à vos clients pour mieux traiter leurs demandes :

  • Collecter des détails techniques : Numéro de commande, produit concerné, ou type de demande
  • Faciliter le tri des requêtes : Catégoriser les messages pour orienter automatiquement les demandes
  • Améliorer l’expérience utilisateur : Ajouter un champ de commentaire ou des instructions précises pour guider vos clients
  • Augmenter les conversions : Un formulaire clair et court réduit l’abandon

Avec un formulaire bien adapté, vous pouvez gagner du temps et offrir une meilleure expérience à vos utilisateurs.

Personnaliser le formulaire de contact PrestaShop (sans module)

Si vous ne voulez pas payer pour un module, vous pouvez personnaliser le formulaire natif gratuitement en modifiant les fichiers de votre thème.

Avant de modifier : sauvegardez tout

Étapes essentielles :

  1. Sauvegardez complètement votre boutique (fichiers + base de données)
  2. Créez une copie de votre thème (ou de PrestaShop en local)
  3. Testez les modifications avant de les mettre en live

Modifier les objets disponibles (méthode simple)

La méthode la plus simple sans coder :

  1. Allez dans Back-office → Vendre → Service clients → Contacts
  2. Vous voyez les “Objets disponibles” (ex: “Commande” = #123)
  3. Éditez ces objets pour mieux décrire les catégories de demandes
  4. Sauvegardez

Exemple :

  • Au lieu de “Commande”, mettez “Problème de commande”
  • Au lieu de “Produit”, mettez “Question sur un produit”

Ajouter des champs personnalisés via override (méthode avancée)

Pour ajouter des champs au-delà des objets existants, vous devez modifier les fichiers du thème.

1. Localisez le formulaire de contact

Le formulaire se trouve dans : /themes/votre_theme/templates/contact.tpl

2. Ajoutez un champ personnalisé

Insérez ce code HTML à l’endroit approprié dans le formulaire :

<div class="form-group">
  <label for="custom_field">Numéro de commande (facultatif)</label>
  <input type="text" id="custom_field" name="custom_field" placeholder="Entrez votre numéro de commande" class="form-control">
</div>

3. Traitez le champ côté serveur

Modifiez également /controllers/front/ContactController.php pour traiter ce nouveau champ :

$custom_field = Tools::getValue('custom_field');
if (!empty($custom_field)) {
    // Validez le champ si nécessaire
    $message .= 'Numéro de commande : ' . pSQL($custom_field) . "\n";
}

4. Testez votre formulaire

  • Testez en front-office : le champ apparaît-il ?
  • Envoyez un message : les données sont-elles bien reçues ?
  • Vérifiez dans le back-office : le message apparaît-il avec votre champ personnalisé ?

Modifier les champs du formulaire de contact

Au-delà des objets, vous pouvez aussi modifier les champs standards (nom, email, message).

Les champs natifs de PrestaShop

Champs obligatoires par défaut :

  • Email (validation mail)
  • Sujet / Objet (texte court)
  • Message (texte long)
  • Sélection d’objet (Commande, Produit, etc.)

Ajouter la validation de champs

Vous pouvez rendre certains champs obligatoires ou facultatifs en modifiant le contrôleur :

if (!isset($_POST['custom_field']) || $_POST['custom_field'] === '') {
    $this->errors[] = 'Le numéro de commande est obligatoire';
}

Modifier le design du formulaire

Pour changer l’apparence, éditez le fichier contact.tpl et ajustez les classes CSS :

<form method="post" action="{$contact_form_url}" id="contact-form">
  <!-- Champs avec classes Bootstrap 5 -->
  <div class="mb-3">
    <label for="email" class="form-label">Email *</label>
    <input type="email" id="email" name="from" class="form-control" required>
  </div>
</form>

Les meilleurs modules de formulaire de contact PrestaShop

Si vous préférez une solution clé en main sans coder, les modules spécialisés offrent une meilleure flexibilité.

Modules recommandés

ModulePrixFonctionnalitésDifficulté
Advanced Contact Form€€Champs personnalisés avancés, validations, conditionsFacile
Custom Contact Form FieldsAjouter/supprimer des champs rapidementTrès facile
Form Builder for PrestaShop€€€Formulaires illimités, logique conditionnelle, webhooksMoyenne
Contact Form ProNotifications custom, redirection, intégration CRMFacile

Natif vs Module : quand choisir quoi ?

Choisir le formulaire natif + override si :

  • Vous ne voulez rien payer
  • Vous avez quelques champs seulement à ajouter
  • Vous êtes à l’aise avec un peu de code PHP/HTML
  • Votre besoin est simple (5-6 champs max)

Choisir un module si :

  • Vous voulez une interface visuelle (no-code)
  • Vous avez besoin de nombreux champs personnalisés
  • Vous voulez des validations avancées
  • Vous manquez de temps ou de compétences techniques
  • Vous avez besoin de notifications custom ou d’intégrations (Zapier, CRM, etc.)

Personnaliser la page contact PrestaShop 8 et 9

Les versions 8 et 9 de PrestaShop ont simplifié la gestion des formulaires avec une meilleure interface.

PrestaShop 8

Localisation des settings :

  • Back-office → Vendre → Clients → Contacts
  • Modification plus intuitive des objets
  • Support Twig (plus flexible que Smarty)

PrestaShop 9

Améliorations :

  • Interface plus moderne pour créer des champs
  • Meilleure gestion de la validation côté navigateur
  • Support natif des webhooks pour intégration externe
  • Performance améliorée sur formulaires complexes

Étapes pour PrestaShop 8/9 :

  1. Back-office → Vendre → Clients → Contacts
  2. Éditez les “Catégories de contact” (anciennement “Objets”)
  3. Testez le formulaire en front-office

Différences clés par version

AspectPrestaShop 1.7PrestaShop 8/9
InterfaceClassiqueModerne (Symfony)
Langage templateSmartyTwig
PerformanceBonneExcellente
Flexibilité champsBasiqueAvancée
IntégrationsWebhooks limitésWebhooks complets

Bonnes pratiques pour un formulaire efficace

1. Évitez les formulaires trop longs

  • Demandez uniquement les informations essentielles
  • Les formulaires courts ont 5-10x plus de taux de complétion
  • Groupez les champs logiquement

Champs essentiels :

  • Email (pour répondre)
  • Objet/Catégorie (pour orienter)
  • Message (pour comprendre le problème)

2. Ajoutez des validations claires

<label for="phone">Téléphone (11 chiffres)</label>
<input type="tel" pattern="[0-9]{11}" required>

Indicateurs visuels :

  • Champs obligatoires marqués avec un *
  • Messages d’erreur clairs
  • Validation HTML5 native

3. Soyez conforme au RGPD

  • Informez les utilisateurs de l’usage de leurs données
  • Proposez une case à cocher “J’accepte la politique de confidentialité”
  • Stockez les données de manière sécurisée

Exemple mention RGPD :

<div class="form-check">
  <input class="form-check-input" type="checkbox" id="privacy" name="privacy" required>
  <label class="form-check-label" for="privacy">
    J'accepte la <a href="/politique-de-confidentialite/">politique de confidentialité</a>
  </label>
</div>

4. Testez sur mobile

  • 50%+ du trafic est mobile
  • Les formulaires doivent être fluides sur petit écran
  • Testez les touches et les validations mobiles

Cas d’usage courants

Ajouter un champ “Numéro de commande”

Utile pour les demandes SAV. Les clients saisissent leur numéro et vous trouvez vite leur commande.

Ajouter un champ “Type de produit”

Pour les boutiques avec plusieurs catégories (mode, électronique, services). Orientez les messages directement au bon service.

Ajouter un champ “Budget”

Pour les prestataires de services (agence, conseil). Vous sauvez du temps en ignorant les demandes hors budget dès le départ.

Ajouter un champ “Priorité”

Laissez les clients signaler si c’est urgent. Traitez d’abord les demandes “Critique”.

Conclusion

Personnaliser le formulaire de contact dans PrestaShop est une solution simple pour améliorer la gestion des demandes et l’expérience client. Que vous choisissiez une modification manuelle gratuite ou un module dédié, ces ajustements vous permettront d’optimiser votre service client en l’adaptant aux besoins spécifiques de votre entreprise.

N’attendez plus, adaptez votre formulaire et facilitez vos échanges avec vos clients dès aujourd’hui !


À lire aussi :