Comment créer des formulaires de contact personnalisés dans PrestaShop ?
PrestaShop est livré avec une seule page de contact fixe, ce qui ne suffit pas lorsque vous avez besoin de demandes de devis, demandes B2B, entrées support ou inscriptions à des événements. Pour construire vos propres formulaires, utilisez Better Contact Form : il stocke les formulaires et leurs champs dans des tables dédiées et les rend via un contrôleur de module ou un hook, avec une gestion fonctionnelle des valeurs soumises pour les champs texte, email, téléphone, textarea, select, checkbox, URL et nombre. Vous pouvez créer plusieurs formulaires pour différents usages, les placer sur n’importe quelle page, et collecter des soumissions structurées au lieu d’emails en texte libre. Gardez chaque formulaire court, marquez clairement les champs requis, et ajoutez une protection anti-spam. Pour le GDPR, incluez une case de consentement et un lien vers votre politique de confidentialité afin que les données de demande soient collectées légalement.
Le template a aussi une branche d’input file, mais le processeur de soumission actuel lit les valeurs de champ via Tools::getValue() et ne gère pas $_FILES. Cela signifie que les champs fichier peuvent être affichés, mais les fichiers uploadés ne sont pas persistés comme valeurs de champ soumises dans l’implémentation actuelle. Ne comptez pas sur la collecte d’uploads de fichiers tant que la gestion de fichiers n’est pas ajoutée.
Les formulaires, champs, soumissions et valeurs individuelles de soumission sont stockés dans des tables séparées, donc une demande conserve à la fois une ligne de résumé et des données de champs structurées. Le renderer peut choisir un formulaire spécifique ou le formulaire actif par défaut, ne retourne rien lorsqu’un formulaire est inactif ou n’a aucun champ, et préremplit le nom/email du client connecté lorsque disponible.
Le traitement de soumission vérifie que le bouton submit a été posté, effectue les contrôles de champs requis, validation de type, validation d’options select, méthodes optionnelles de validation PrestaShop, application de la case GDPR, détection spam et persistance en base de données. La valeur cachée _mpr_ft n’est pas un token CSRF ; c’est un horodatage base64 utilisé par le contrôle anti-spam de timing. Honeypot et contrôle de temps anti-spam sont activés par défaut, avec un temps minimum de soumission par défaut de 3 secondes. Les soumissions spam sont quand même enregistrées avec is_spam et spam_reason, mais les emails admin/client ne sont envoyés que pour les soumissions non spam. Cela vous donne une piste d’audit sans laisser le trafic bot évident déclencher des notifications.
Cette réponse vous a-t-elle été utile ?
Produits associés
Vous avez encore des questions ?
Vous ne trouvez pas ce que vous cherchez ? Envoyez-nous votre question et nous vous répondrons.