Calculateur de quantités par surface et volume : installation et configuration
Installation, configuration des produits, marges de coupe, pages calculateur SEO, panier et dépannage du calculateur de quantités.
Installation
Installez le module depuis Modules > Gestionnaire de modules > Installer un module en envoyant le fichier ZIP, ou déposez le dossier dfsurfacecalculator dans le répertoire /modules/ de votre boutique puis cliquez sur Installer.
À l’installation, le module crée trois tables (réglages par produit, valeurs par déclinaison, calculs enregistrés sur les paniers), enregistre ses hooks et ajoute l’onglet Calculateur de quantités sous le menu Catalogue. Le bouton Configurer du gestionnaire de modules ouvre la même page.
Le calculateur n’apparaît sur aucune fiche tant qu’aucun produit n’est configuré. Vous pouvez donc installer le module sur une boutique en production sans effet visible immédiat.
Les cinq types de calcul
- Carrelage et revêtements de sol (m²) : longueur × largeur de chaque pièce, ou surface connue. Le contenu d’une unité est la surface couverte par une boîte ou un paquet.
- Peinture (litres) : longueur × hauteur de chaque mur, nombre de couches, rendement en m² par litre, déduction des portes et fenêtres. Le contenu d’une unité est le volume du pot.
- Papier peint (rouleaux) : largeur et hauteur de chaque mur. Le module compte les lés, arrondit la longueur de chaque lé au raccord de motif et calcule le nombre de lés complets par rouleau.
- Volume : béton, gravier, terre (m³) : longueur × largeur × épaisseur en centimètres, ou volume connu. Le résultat est donné en m³ par unité, ou en sacs si vous renseignez la densité du matériau et le poids d’un sac.
- Longueur : plinthes, profilés (m) : longueur de chaque mur ou section. Le contenu d’une unité est la longueur d’une pièce.
Configurer un produit
Ouvrez la fiche produit, onglet Modules, bloc Calculateur de quantités.
- Cochez Afficher le calculateur sur ce produit.
- Choisissez le Type de calcul et l’unité de vente dans Vendu par (boîte, paquet, pot, seau, rouleau, sac, pièce, palette ou unité). Cette unité est celle affichée au client : « Il vous faut 12 boîtes ».
- Renseignez le contenu d’une unité. Le libellé du champ change selon le type de calcul : surface couverte par une unité, volume d’un pot, rouleaux par unité, volume d’une unité ou longueur d’une pièce.
- Complétez les champs propres au type de calcul (voir ci-dessous).
- Cliquez sur Enregistrer les réglages du calculateur. Les réglages sont aussi enregistrés avec le bouton d’enregistrement global de la fiche produit.
Peinture
Indiquez le Rendement en m² par litre, tel qu’il figure sur le pot, et le nombre de Couches proposées par défaut. L’option Permettre au client de déduire portes et fenêtres ajoute deux champs au calculateur ; la surface déduite par porte et par fenêtre se règle dans la configuration du module (1,7 m² et 1,5 m² par défaut).
Papier peint
Indiquez la Largeur du rouleau en centimètres, la Longueur du rouleau en mètres et le Raccord de motif en centimètres (0 ou vide pour un papier uni). Si le produit est vendu au rouleau, laissez le champ « Rouleaux par unité » vide. Chaque lé mesure la hauteur du mur plus 10 cm d’arasement, arrondie au raccord supérieur.
Volume vendu en sacs
Pour un produit vendu au poids, laissez le volume par unité vide et renseignez la Densité du matériau en kg/m³ et le Poids d’une unité en kg. Le module convertit alors le volume en poids, puis en nombre de sacs. Ordres de grandeur : gravier 1500 à 1700, sable 1600, béton sec prêt à gâcher 2000.
Marge de coupe propre au produit
Le champ Marge de coupe par défaut pour ce produit remplace la marge présélectionnée pour ce produit uniquement. Laissez-le vide pour utiliser la valeur du module. Si la valeur saisie ne fait pas partie des choix proposés, elle est ajoutée aux choix de ce produit.
Valeurs par déclinaison et combinaison de conditionnements
Si le produit a des déclinaisons, un tableau Valeurs par déclinaison apparaît. Renseignez uniquement les déclinaisons dont le contenu diffère de la valeur du produit, par exemple un pot de 2,5 L et un pot de 10 L. Pour un produit vendu au poids, la valeur saisie est le poids d’une unité en kg.
Si vos déclinaisons sont des tailles de conditionnement, cochez Les déclinaisons sont des conditionnements : proposer la combinaison de tailles la moins chère. Le calculateur affiche alors, sous le résultat, la combinaison de tailles qui couvre le besoin au prix le plus bas, l’économie par rapport à la taille sélectionnée et un bouton qui ajoute toutes les lignes au panier. La recherche porte sur les cinq tailles au meilleur prix par unité de contenu.
Utiliser une caractéristique produit
Si votre catalogue indique déjà le contenu d’une unité dans une caractéristique (par exemple « Surface par boîte : 1,44 »), sélectionnez-la dans Caractéristique contenant le contenu par unité de la configuration. Elle sert de valeur par défaut quand le champ du produit est vide. Le même principe existe pour le rendement de la peinture avec Caractéristique contenant le rendement de la peinture. Le module lit le premier nombre de la valeur, avec virgule ou point.
Activation en masse par catégorie
Sur la page du module, le bloc Affectation en masse par catégorie active ou désactive le calculateur sur tous les produits des catégories sélectionnées, sous-catégories comprises si la case est cochée. Choisissez le type de calcul et l’unité de vente à appliquer. Par défaut, les produits déjà configurés gardent leurs réglages ; cochez Modifier aussi le type et l’unité des produits déjà configurés pour les écraser. Les valeurs de conditionnement déjà saisies ne sont jamais effacées.
Un produit activé sans information de conditionnement, ni dans son champ ni dans la caractéristique désignée, reste masqué en boutique. Il apparaît avec le statut Incomplet dans la liste des produits configurés, avec un lien pour ouvrir sa fiche.
Réglages du module
Affichage
- Position sur la fiche produit : sous le bouton Ajouter au panier (hook
displayProductAdditionalInfo), à côté des actions produit (displayProductActions) ou hook personnalisé. - Couleur d’accent : couleur des boutons, des choix de marge et du résultat.
- Prix au m², litre, mètre ou m³ : affiche « soit 22,85 € / m² » sous le prix, sur la fiche produit et dans les listes de produits.
- Enregistrer le calcul avec la ligne du panier : conserve les mesures du client pour le panier et la page commande du back-office.
- Surface de porte déduite et Surface de fenêtre déduite en m².
Marges de coupe
Pour chaque type de calcul, saisissez les choix proposés au client, en pourcentage et séparés par des virgules (par exemple 5,10,15), et la marge présélectionnée. Valeurs installées : carrelage 5, 10 et 15 % (10 par défaut), peinture 0 à 15 % (10), papier peint 0 à 10 % (5), volume 0 à 10 % (5), plinthes 5 à 15 % (10).
Hook personnalisé
Pour placer le calculateur ailleurs dans la fiche, choisissez la position « Hook personnalisé » et ajoutez cette ligne dans le template produit de votre thème :
{hook h='displayDfSurfaceCalculator' product=$product}
Pages calculateur SEO
Chaque type de calcul peut avoir sa page publique, qui contient le calculateur, vos produits du même type avec la quantité et le prix calculés pour les mesures du visiteur, une explication de la méthode et des liens vers les autres calculateurs. Les adresses suivent le modèle /calculateur/carrelage-parquet, /calculateur/peinture, /calculateur/papier-peint. La liste des pages publiées et leurs liens figurent en haut de la page du module.
- Activer les pages calculateur et Pages à publier : ne publiez que les types qui correspondent à votre catalogue.
- Préfixe d’URL : commun à toutes les langues, défini à l’installation selon la langue par défaut de la boutique.
- Produits listés par page : 12 par défaut, 0 masque la liste.
- Pour chaque page et chaque langue : URL simplifiée, Titre (H1 et balise title), Meta description et Texte d’introduction. Des titres et adresses rédigés pour les recherches courantes sont préremplis en 8 langues.
Les pages déclarent un canonical, les balises hreflang des langues actives et un fil d’Ariane. Elles sont ajoutées automatiquement au sitemap du module gsitemap de PrestaShop à sa prochaine génération. L’adresse d’une autre langue redirige en 301 vers celle de la langue affichée. Si vous modifiez une URL simplifiée, l’ancienne adresse n’est plus servie : pensez à la redirection si la page était déjà indexée.
Le texte d’introduction est un bon emplacement pour vos conseils de pose et le vocabulaire de vos clients. Évitez de dupliquer mot pour mot l’explication de la méthode, déjà affichée sous le calculateur.
Ce que voit le client
Le client saisit une ou plusieurs pièces, murs ou zones. Chaque bloc affiche son sous-total. À partir de la deuxième zone, la case Déduire cette zone permet de retirer un îlot, une baie ou un placard. Il choisit ensuite la marge parmi vos valeurs.
Le résultat indique la surface ou le volume, le besoin marge comprise, le nombre d’unités, le total couvert avec la réserve et le prix estimé. Le bouton Ajouter 12 boîtes au panier remplit le champ quantité et déclenche le bouton panier du thème. Le lien Utiliser cette quantité remplit seulement le champ. Si le produit est en rupture, seul ce lien est proposé.
Une valeur non numérique est encadrée en rouge et bloque le résultat. Une valeur très élevée, par exemple 120 m pour une longueur de pièce, affiche un rappel de l’unité attendue. Les mesures saisies sont conservées pendant la session : le visiteur les retrouve entre la page calculateur et la fiche produit.
Panier et commandes
Quand le client ajoute au panier depuis le calculateur, ses mesures sont enregistrées avec la ligne. Le panier affiche un récapitulatif sous le produit, par exemple « Surface 14,7 m² + 10 % = 16,17 m². Calculé : 12 boîtes », et signale si la quantité a été modifiée ensuite. Dans le back-office, la page de la commande affiche un bloc Calculs de quantités avec les mêmes informations.
Dépannage
Le calculateur n’apparaît pas sur la fiche produit
Vérifiez dans la liste des produits configurés que le produit est actif et que son statut n’est pas Incomplet. Vérifiez ensuite que le hook de la position choisie existe dans votre thème ; en cas de doute, essayez l’autre position ou le hook personnalisé. Videz le cache de la boutique après un changement.
Le message « L’information de conditionnement manque pour cette option »
La déclinaison sélectionnée n’a pas de contenu, et le produit non plus. Renseignez la valeur du produit ou celle de la déclinaison dans le tableau des valeurs par déclinaison.
La page calculateur renvoie une erreur 404
Vérifiez que les pages sont activées et que le type est coché dans Pages à publier. Si les URL simplifiées de la boutique sont désactivées, la page reste accessible par son adresse longue, indiquée en haut de la page du module.
La combinaison de conditionnements ne s’affiche pas
L’option doit être cochée, au moins deux déclinaisons doivent avoir un contenu et un prix, et la combinaison n’est proposée que si elle coûte moins cher que la taille sélectionnée.
Le prix au m² n’apparaît pas dans les listes de produits
Il s’affiche par le hook displayProductPriceBlock de type unit_price, que certains thèmes n’appellent pas dans les miniatures produit. Ajoutez l’appel au template de miniature ou désactivez l’option.
Compatibilité
- PrestaShop 8.0 à 9.x, le même ZIP couvre les deux branches.
- Multiboutique et multilingue.
- Architecture ModuleAdminController, sans dépendance Composer.
- Interface et textes du calculateur disponibles en français, anglais, espagnol, allemand, italien, néerlandais, polonais et portugais.