Catalogue produit dynamique
📦 Chapitre 15 — Catalogue produit dynamique
Si votre site présente un catalogue de produits Dolibarr (services, logiciels, abonnements), InfraSStudio peut générer automatiquement une page web par produit, à partir de votre catalogue Dolibarr existant. Vous ajoutez un produit dans Dolibarr, sa page web est créée toute seule. Magique.
🎯 Le concept
Vous avez probablement déjà des produits dans Dolibarr (table llx_product) avec leur fiche commerciale (label, description, prix). Sur votre site web, vous voulez :
- 📋 Un catalogue qui liste tous vos produits actifs.
- 📄 Une page détaillée par produit (landing produit).
- 🔄 Une mise à jour automatique : nouveau produit = nouvelle page sans intervention.
InfraSStudio livre exactement ça. Vous écrivez une seule fiche produit modèle (page solution-detail), et le module génère un wrapper solution-<ref>.php pour chaque produit publié.
🧩 Préparer un produit Dolibarr pour le catalogue
Pour qu'un produit apparaisse dans le catalogue web, deux conditions :
Champ | Valeur requise |
|---|---|
Statut commercialisable (
) | À vendre (= 1) |
Publié sur le site (extrafield
) | Coché (= 1) |
Trois états possibles pour un produit
tosell | published | Visibilité |
|---|---|---|
0 | — | 🚫 Invisible partout (commercial) |
1 | 0 | 📝 Brouillon — éditable côté Studio mais invisible publiquement |
1 | 1 | 🌐 Publié — card sur le catalogue + page solution servie |
📥 Accéder à la section Produits
- Ouvrez l'éditeur Studio.
- Dans la colonne de gauche, cliquez sur l'onglet Produits.
- La liste de tous vos produits commercialisables s'affiche.
Pour chaque produit :
- 📛 Référence et libellé.
- 🏷️ Type (SaaS, Extension, Instant App, …).
- 🟢 ou 🟠 Statut : publié (vert) ou brouillon (orange).
✍️ Éditer un produit
- Cliquez sur un produit dans la liste.
- L'aperçu central charge la page solution-detail avec ce produit.
- L'inspecteur à droite affiche les champs natifs Dolibarr et les extrafields.
Champs éditables
Catégorie | Champs |
|---|---|
📝 Natifs Dolibarr (traduisibles) | label, description (richtext) |
🧩 Extrafields traduisibles | tagline, cta_label, deployment, compatibility, support, languages, features, pricing_tiers |
🌐 Extrafields non traduisibles | hero_image (image), cta_url, badge |
Édition d'un champ
- Cliquez sur le champ dans l'inspecteur (ou directement sur l'élément correspondant dans l'aperçu central).
- L'inspecteur s'ouvre en mode édition avec un bouton « ← Retour ».
- Modifiez la valeur.
- Pour les champs traduisibles, dépliez la section « Autres langues ».
- Cliquez sur « Enregistrer » en bas du panel (le compteur indique le nombre de champs modifiés en attente).
- L'aperçu se rafraîchit.
💡 Différence avec les slots — Pour les produits, l'auto-save n'est pas activé : vous cliquez sur « Enregistrer » manuellement. C'est volontaire car les champs Dolibarr sont plus sensibles (synchronisés avec votre fiche produit).
🌐 Publier ou dépublier un produit
- Sélectionnez le produit dans la liste.
- Dans la toolbar centrale, cliquez sur « Publier » (ou « Dépublier » si déjà publié).
- Le module bascule l'extrafield
infrasstudio_publishedà 1 (ou 0). - Il appelle ensuite la régénération automatique des wrappers
solution-<ref>.php. - Une notification verte confirme.
✅ Effet « Publier » — Le wrapper /var/www/<site>/solution-<ref>.php est créé. La card du produit apparaît sur le catalogue. Le détail produit est accessible via /solution-<ref>.php.
✅ Effet « Dépublier » — Le wrapper est supprimé. Le visiteur sur l'URL reçoit un 404. La card disparaît du catalogue.
🔄 Régénérer les wrappers manuellement
Si quelque chose semble désynchronisé (un produit modifié récemment ne montre pas la bonne version) :
Bouton dans la toolbar
- Sur la fiche produit, cliquez sur l'icône « Régénérer wrapper » (icône sync).
- Le module reconstruit le wrapper de ce produit.
Bouton « Reconstruire maintenant » (admin)
- Allez dans Outils → InfraSStudio → Configuration.
- Trouvez la section « Wrappers solution ».
- Cliquez sur « Reconstruire maintenant ».
- Tous les wrappers sont régénérés en une fois.
ℹ️ Filet de sécurité automatique — Un cron horaire régénère les wrappers en arrière-plan. En cas d'oubli ou de bug temporaire, l'état est rétabli au plus tard une heure après.
📊 Le listing catalogue
La page catalogue (typiquement /catalogue.php) liste tous les produits publiés sous forme de cards. Chaque card affiche :
- 🖼️ L'image hero du produit.
- 🏷️ Un badge éventuel (« Nouveau », « Promotion », …).
- 📛 Le label.
- 📝 La tagline.
- 🌍 La catégorie / univers (déduite des catégories Dolibarr).
- 🔗 Un lien vers la page détail.
Les visiteurs peuvent filtrer le catalogue par univers (Supply Chain, Health, Legal, …) et par type (SaaS, Extension, Instant). Les filtres sont JS, instantanés.
🔗 Lien direct depuis Dolibarr
Sur la fiche produit (côté Studio), un bouton « Voir public » ouvre la page solution publique dans un nouvel onglet. Et un bouton « Voir la fiche Dolibarr » ouvre la fiche produit Dolibarr native.
✅ Round-trip — Vous pouvez aller-retour entre la fiche commerciale Dolibarr et l'éditeur web Studio sans casser votre flux.
📋 Récapitulatif
✅ Vous savez maintenant :
- Comprendre qu'une page web par produit publié est générée automatiquement.
- Préparer un produit (tosell=1, infrasstudio_published=1).
- Éditer les champs natifs et extrafields depuis le Studio.
- Différencier les champs traduisibles et non traduisibles.
- Publier / dépublier un produit (gère le wrapper + la card du catalogue).
- Régénérer manuellement un wrapper en cas de désynchronisation.
- Comprendre que le catalogue se filtre côté visiteur sans rechargement.
Dernier chapitre de la Partie III : le SEO.