Un module qui calcule au lieu de multiplier les références
Le module « Mot personnalisé » a été développé pour PrestaShop 8. Le client tape son mot, choisit sa matière (bois, carton, acrylique) et sa taille ; le prix se calcule à partir d'une grille : la matière, la tranche de lettres, la taille.
C'est la seule façon honnête de vendre une découpe à la demande. L'alternative consistait à créer une référence par combinaison, c'est-à-dire un catalogue ingérable, ou à afficher un prix indicatif et à corriger après commande, ce qui coûte un client sur deux.
La grille tarifaire se règle en back-office, pas dans le code
Les tarifs bougent : une matière augmente, une taille se rentabilise mieux, une promotion se décide un jeudi soir. La grille est donc éditable depuis l'administration de la boutique, sans passer par moi.
C'est la même règle que sur tous mes projets : ce qui change souvent doit se régler par celui qui vend, pas par celui qui développe.
Le prix se recalcule à l'écran, mais se vérifie sur le serveur
L'ajout au panier se fait en Ajax : le prix se met à jour pendant la saisie, sans rechargement. Ce confort a une contrepartie que beaucoup de modules oublient : un prix calculé dans le navigateur se modifie dans le navigateur.
Le serveur recalcule donc systématiquement le montant avant de l'accepter dans le panier. C'est invisible pour le client, et c'est ce qui empêche une commande à trois euros pour une pièce qui en vaut trente.
Cohabiter avec le page builder du thème
La boutique s'appuie sur Creative Elements, un constructeur de pages qui reprend la main sur l'affichage des fiches produit. Le module s'y trouvait tout simplement ignoré : le formulaire n'apparaissait pas là où il fallait.
La compatibilité a été rétablie par un hook maison, qui réinjecte le module au bon endroit du gabarit. Ce genre de contournement se documente, parce que c'est exactement ce qu'une mise à jour peut casser un an plus tard.