PS PrestaShop Intermédiaire

Module Opticien PrestaShop : installation et configuration

Installer le module, paramétrer verres, traitements et montures, comprendre les règles de faisabilité et traiter les commandes de lunettes de vue.

Mis à jour Version du module 1.1.0

Présentation

Le module dfopticlens permet de vendre des lunettes de vue sur PrestaShop 8 et 9. Sur la fiche d’une monture, le client choisit un type de verre, saisit son ordonnance, choisit un verre parmi les indices proposés, ajoute des traitements et valide un récapitulatif. Le serveur contrôle chaque valeur, calcule le prix et vérifie que la correction est réalisable sur la monture. Le prix des verres s’ajoute à la ligne de la monture grâce à la personnalisation native de PrestaShop, et l’ordonnance suit la commande jusqu’à la facture.

Installation

  1. Dans Modules > Gestionnaire de modules, cliquez sur Installer un module et envoyez le fichier dfopticlens-1.1.0.zip.
  2. L’installation crée le menu Vendre > Optique avec quatre pages : Ordonnances, Montures, Verres et indices, Traitements.
  3. Cinq verres (1.50, 1.59 polycarbonate, 1.60, 1.67, 1.74) et sept traitements sont créés avec des prix d’exemple. Adaptez-les avant la mise en ligne.
  4. Le dossier upload/dfopticlens/ est créé et protégé par un fichier .htaccess : les fichiers d’ordonnance n’y sont jamais accessibles depuis le web.

Mise à jour depuis la 1.0.0 : envoyez le ZIP 1.1.0 par-dessus. Le script de mise à jour ajoute les nouveaux réglages et hooks, sans perte de données.

Configuration du module

La page de configuration (bouton Configurer du module) regroupe les réglages en trois blocs.

Saisie de l’ordonnance

  • Convention de cylindre transmise au laboratoire : cylindre négatif, positif ou conservé tel que saisi. Le client saisit toujours les valeurs de son ordonnance, la transposition se fait à l’enregistrement.
  • Envoi du fichier d’ordonnance : désactivé, facultatif ou obligatoire, avec une taille maximale en Mo. Formats acceptés : PDF, JPG, PNG, vérifiés par leur contenu.
  • Avertir quand l’ordonnance date de plus de X ans (0 désactive).
  • Supprimer les ordonnances des paniers abandonnés après X jours.
  • Envoi du fichier depuis le compte après la commande : ajoute la page Mes ordonnances au compte client.
  • Option « Je ne connais pas mon écart pupillaire » et écart pupillaire moyen utilisé (63 mm par défaut). La commande est alors marquée à vérifier.

Règles de faisabilité

  • Bloquer les verres qui ne peuvent pas être fabriqués : activé par défaut. Désactivé, la commande est acceptée avec un avertissement.
  • Marge de détourage et marge du diamètre effectif quand l’ED de la monture est inconnu (ED estimé = A + marge).
  • Hauteur minimale pour les progressifs (28 mm) et couloir court en dessous de (32 mm).
  • Seuils d’avertissement : écart entre les yeux, décentrement par œil, puissance positive sur nylor.
  • Épaisseur cible du verre recommandé, épaisseur au centre des verres négatifs et au bord des verres positifs (percés ou non).

Tarifs

  • Prix saisis TTC ou HT. La règle de taxe du produit monture est appliquée aux verres.
  • Suppléments forte puissance et fort cylindre : seuil en dioptries et montant (0 désactive).

Verres et indices

Dans Vendre > Optique > Verres et indices, chaque verre porte :

  • un nom et une description courte affichés au client, dans chaque langue ;
  • l’indice de réfraction, utilisé pour l’estimation de l’épaisseur, et le matériau pour la fiche atelier ;
  • les types de verre pour lesquels il est proposé et un prix par paire pour chacun : unifocal, progressif, sans correction ;
  • la sphère minimale et maximale, le cylindre maximal (en valeur absolue, lus en cylindre négatif comme les plages fabricants) ;
  • le plus grand diamètre de palet disponible (0 désactive ce contrôle) et la possibilité de perçage pour les montures percées.

Traitements

Dans Traitements, chaque traitement a un prix par paire (0 l’affiche comme inclus). Le groupe exclusif empêche de combiner deux traitements : les traitements portant le même code, par exemple tint pour photochromique, teinte solaire et polarisant, s’excluent entre eux. Vous pouvez aussi limiter un traitement à certains verres, par exemple le polarisant aux indices 1.50 et 1.60.

Montures

Une monture relie un produit, ou l’une de ses déclinaisons, à ses mesures. Le bloc des verres n’apparaît que sur les produits ayant une monture activée.

Créer une monture

  1. Dans Montures, cliquez sur Ajouter une monture, ou depuis la fiche produit, onglet Modules, sur Ajouter les mesures de la monture.
  2. Recherchez le produit par nom, référence ou ID, puis choisissez Toutes les déclinaisons ou une déclinaison précise. Une monture définie pour une déclinaison est prioritaire.
  3. Indiquez le type (cerclée, nylor, percée), la largeur du verre A, le pont DBL et la hauteur du verre B, obligatoires. Ce sont les nombres imprimés sur la branche : 52□18 donne A = 52 et DBL = 18.
  4. Facultatif : le diamètre effectif ED (sinon estimé) et la puissance maximale acceptée par la monture.
  5. Cochez les types de verres proposés et, si besoin, Vendre uniquement avec des verres.

Avec « Vendre uniquement avec des verres », le bouton panier natif ouvre le choix des verres. Si un appel direct au panier ajoute quand même la monture seule, le module la retire du panier.

Import et export CSV

Le bouton Exporter en CSV fournit un fichier au bon format. L’import accepte le point-virgule ou la virgule et les colonnes :

product;combination;frame_type;lens_width;lens_height;bridge;ed;max_power;vision_types;lens_required;active
  • product : ID ou référence du produit ; combination : ID ou référence de la déclinaison, vide ou 0 pour toutes.
  • frame_type : full, semi ou rimless ; vision_types : single|progressive|plano.
  • Une monture existante (même produit et déclinaison) est mise à jour. Les lignes rejetées sont listées avec leur numéro.

Le bouton Resynchroniser les produits reconstruit les champs de personnalisation des produits, utile si un employé sans droit sur le module a modifié des produits.

Parcours client

  1. Type : unifocal, progressif ou sans correction, selon ce que la monture propose. Sans correction, l’étape ordonnance est sautée.
  2. Ordonnance : grille OD / OG, écart pupillaire en une ou deux valeurs, date, fichier et note pour l’opticien. Un client connecté peut reprendre l’ordonnance d’une commande précédente.
  3. Verre : cartes avec prix par paire, coupe du verre à l’échelle, épaisseur estimée et verre recommandé. Les verres impossibles sont grisés avec la raison.
  4. Traitements : les traitements indisponibles pour le verre choisi sont grisés.
  5. Récapitulatif : statut de faisabilité, remarques, détail du prix et total monture et verres.

La saisie est conservée si le client recharge la page. Elle est effacée après l’ajout au panier.

Règles de faisabilité

Contrôle Effet
Sphère ou cylindre hors plage du verre Verre indisponible
Diamètre de palet nécessaire (ED + 2 × décentrement + marge) supérieur au palet du verre Verre indisponible si le blocage est actif
Monture percée et matériau non perçable Verre indisponible si le blocage est actif
Hauteur B inférieure au minimum pour un progressif Bloquant (ou avertissement)
Hauteur B sous le seuil de couloir court Information
Puissance supérieure au maximum de la monture Bloquant (ou avertissement)
Écart entre les yeux, fort décentrement, forte puissance positive sur nylor, ordonnance ancienne, écart pupillaire inconnu Avertissement, commande marquée à vérifier

Les calculs se font sur la forme en cylindre négatif. L’épaisseur est estimée par la formule de la flèche : c’est un repère pour comparer les indices, pas le calcul du laboratoire.

Prix, promotions et facture

Le prix des verres est enregistré HT dans la personnalisation de la ligne de panier. PrestaShop l’ajoute au prix de la monture et applique la TVA du produit. Si la monture a une réduction en pourcentage (prix spécifique ou groupe client), PrestaShop l’applique aussi aux verres : le panneau affiche le prix barré et une ligne « Promotion de la monture appliquée aussi aux verres », pour que le total annoncé corresponde au panier.

Commandes et fiche atelier

  • La page commande du back-office affiche un bloc par ordonnance : valeurs transposées, verre, traitements, mesures de la monture, décentrement et palet minimal par œil, remarques de faisabilité et détail du prix.
  • Imprimer la fiche atelier ouvre une page A4 prête à imprimer.
  • Télécharger le fichier d’ordonnance récupère le scan envoyé par le client.
  • Vendre > Optique > Ordonnances liste toutes les ordonnances avec leur statut : OK, à vérifier, non réalisable.

Compte client : Mes ordonnances

Un client ayant commandé des verres voit le lien Mes ordonnances dans son compte. La page affiche chaque ordonnance avec la commande liée. Si l’envoi du fichier est facultatif et que le client ne l’a pas joint, il peut l’envoyer depuis cette page ; l’opticien le retrouve ensuite dans la commande.

Données de santé et RGPD

  • Les fichiers d’ordonnance sont stockés hors du dossier public et ne se téléchargent que depuis le back-office.
  • Les ordonnances des paniers jamais commandés sont supprimées après le délai réglé, avec la ligne de panier correspondante.
  • Avec le module officiel psgdpr, l’export et la suppression des données d’un client incluent ses ordonnances.

Dépannage

Le bloc des verres n’apparaît pas sur la fiche produit

Vérifiez que le produit a une monture activée et que le thème affiche le hook displayProductAdditionalInfo. Videz le cache de PrestaShop.

Le bouton panier natif n’ouvre pas le panneau sur une monture « verres obligatoires »

Le module intercepte les boutons portant data-button-action="add-to-cart". Si votre thème utilise un autre attribut, le blocage côté serveur reste actif : la monture seule est retirée du panier.

Le total du panneau diffère du panier

Une réduction en montant fixe ne s’applique qu’à la monture et une règle panier (bon de réduction) s’applique au panier entier : elles n’apparaissent pas dans le panneau des verres.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support