Statistiques Live des ventes & vues de produits : installation et aide
Démarrage rapide
- Téléversez le ZIP du module dans "Modules > Module Manager" et ouvrez "Configure".
- Activez "Enable module" et les statistiques produit souhaitées.
- Gardez "Minimum count to display" à 0 pour le premier test.
- Activez "Show recent purchases modal" si nécessaire.
- Activez éventuellement "Show on product listings", puis enregistrez.
- Consultez un produit dans une session visiteur normale du navigateur et vérifiez une pastille de vues non nulle.
- Vérifiez un produit ayant des commandes valides et cliquez sur sa pastille de ventes pour tester Achats récents.
Nécessite PrestaShop 1.6.1 ou ultérieur et PHP 7.1 ou ultérieur.
Manuel de configuration
Installation et première configuration
- Téléversez le ZIP de Product Sales & Views Live Stats via "Modules > Module Manager".
- Ouvrez "Configure".
- Gardez "Enable module" activé et choisissez les compteurs à afficher.
- Laissez "Minimum count to display" à
0pour votre premier test, puis enregistrez. - Consultez un produit dans un navigateur normal avec un identifiant visiteur PrestaShop. Rechargez et vérifiez le widget.
- Testez la pastille de ventes sur un produit ayant une commande valide et ouvrez sa fenêtre d'achats récents.
Nécessite PrestaShop 1.6.1 ou ultérieur et PHP 7.1 ou ultérieur.
Paramètres d'affichage
| Paramètre | Valeur à l'installation | Fonction |
|---|---|---|
| "Enable module" | Oui | Active l'affichage en boutique et le suivi des vues via les hooks du module. |
| "Show views count" | Oui | Affiche les identifiants visiteurs distincts suivis pour le produit sur la période glissante. |
| "Show sales count" | Oui | Affiche le nombre de commandes valides distinctes contenant le produit, et non les unités vendues. |
| "Show live viewers" | Oui | Affiche les visiteurs distincts ayant une vue suivie dans la fenêtre récente de direct. |
| "Show recent purchases modal" | Oui | Fait ouvrir une fenêtre Achats récents via AJAX par la pastille de ventes de la page produit. |
| "Show on product listings" | Non | Ajoute une pastille de ventes uniquement dans les listes via displayProductListReviews. |
| "Minimum count to display" | 0 | Masque le widget produit si les vues et ventes activées et ajustées sont toutes deux sous le seuil. Les visiteurs en direct seuls ne contournent pas ce contrôle. Les pastilles de liste appliquent le seuil aux ventes. |
Chaque statistique produit apparaît uniquement si elle est activée et supérieure à zéro. Un seuil de 0 n'affiche pas de pastilles à valeur nulle. Les pastilles de liste peuvent apparaître indépendamment du réglage "Show sales count" de la page produit.
Calcul des compteurs
Le hook displayHeader enregistre une vue uniquement sur les pages produit ayant un identifiant produit et un identifiant visiteur. Les contrôles des robots précèdent l'insertion. Le même visiteur, produit et magasin ne sont pas enregistrés à nouveau pendant 30 minutes.
La statistique de vues affichée compte les identifiants visiteurs distincts sur toute la période, même si un visiteur possède plusieurs enregistrements. La statistique de ventes compte les commandes distinctes avec valid = 1 sur cette période et dans cette boutique. Les commandes valides existantes peuvent contribuer immédiatement ; les vues antérieures à l'installation ne sont pas importées.
Les visiteurs en direct sont les visiteurs distincts enregistrés dans la fenêtre récente. Il ne s'agit pas d'un suivi continu de présence en ligne. Le navigateur n'envoie pas de signal périodique pour maintenir un visiteur en direct, et la suppression des doublons peut empêcher les nouvelles vues d'actualiser l'horodatage pendant 30 minutes.
Le filtrage des robots utilise une table partagée mpr_sessions compatible lorsqu'elle est disponible. Sinon, il compare le user-agent à des motifs courants de robots et d'automatisation.
Valeurs internes
Le formulaire marchand actuel expose les sept paramètres d'affichage ci-dessus. Les valeurs suivantes existent dans le stockage du module, sans commandes séparées dans ce formulaire. Ces noms sont des clés de stockage, pas un fichier de configuration importable.
| Clé | Valeur à l'installation | Utilisation à l'exécution |
|---|---|---|
TIMEFRAME_VALUE |
30 | Quantité de l'intervalle de rapport. |
TIMEFRAME_TYPE |
days |
Accepte hours, days ou months. |
VIEWS_BOOST_MULTIPLY |
1.0 | Multiplie le nombre de vues distinctes. |
VIEWS_BOOST_FLAT |
0 | Ajoute une quantité après multiplication et arrondi des vues. |
SALES_BOOST_MULTIPLY |
1.0 | Multiplie le nombre de commandes distinctes. |
SALES_BOOST_FLAT |
0 | Ajoute une quantité après multiplication et arrondi des ventes. |
MODAL_LIMIT |
10 | Nombre maximal de lignes de détail de commandes récentes renvoyées. |
ANONYMIZE |
1 | Masque le prénom et le nom des acheteurs ; ne masque ni ville ni pays. |
LIVE_WINDOW |
15 | Fenêtre des vues récentes en minutes. |
Les vues et ventes affichées utilisent max(0, round(raw * multiplier) + flat). Gardez les multiplicateurs à 1.0 et les ajouts à 0 pour obtenir les compteurs bruts. Une intégration par un développeur peut définir une période de 24 heures, 30 jours ou 3 mois. Il n'existe ni compteur initial par produit, ni champ de motif textuel, ni paramètre d'exclusion de produits ou catégories.
Achats récents et emplacement en boutique
La fenêtre charge les détails de commandes valides récentes du produit sélectionné : nom de l'acheteur masqué par défaut, ville, pays, temps relatif, nom du produit et quantité. Une ligne d'achat récent correspond à une ligne de détail de commande ; plusieurs déclinaisons dans une commande peuvent produire plusieurs lignes. Cette unité diffère du total de ventes en commandes distinctes.
Le widget produit utilise displayProductAdditionalInfo. L'affichage en liste utilise displayProductListReviews ; les ressources sont préparées pour les pages catégorie, recherche, fabricant, fournisseur, nouveautés, meilleures ventes et promotions lorsque l'affichage en liste est actif.
Pour un thème personnalisé omettant ces hooks, ajoutez une seule fois l'appel approprié :
{hook h='displayProductAdditionalInfo' product=$product}
{hook h='displayProductListReviews' product=$product}
Le contrôleur AJAX prend en charge action=getRecentOrders et action=getStats, chacun avec id_product. Générez l'URL du module avec les outils de liens PrestaShop dans vos intégrations personnalisées. Le script fourni charge la fenêtre d'achats ; l'existence d'un endpoint de statistiques ne signifie pas que le widget s'actualise en continu.
Vérification et dépannage
- Utilisez un navigateur normal pour les tests de vues. Les outils automatisés peuvent être filtrés comme robots. Vérifiez que le navigateur possède un identifiant visiteur PrestaShop.
- Consultez deux fois le même produit en 30 minutes. Cela ne doit pas ajouter une seconde vue enregistrée. Utilisez une autre session visiteur pour tester le comptage des visiteurs distincts.
- Comparez les ventes aux commandes valides créées durant l'intervalle, plutôt qu'aux unités totales commandées ou à tous les états de commande.
- Si aucune pastille n'apparaît, vérifiez les réglages activés, les compteurs nuls, le seuil et les hooks du thème.
- Si la fenêtre échoue, inspectez sa réponse AJAX, les erreurs JavaScript et la connexion à la base de données. Gardez à l'esprit que l'anonymisation masque uniquement les noms.
Styles du thème
Utilisez .mprpsvls-widget, .mprpsvls-bar et .mprpsvls-listing-badge dans la feuille de style du thème. Theme Detector fournit notamment les variables --mprpsvls-primary, --mprpsvls-bg et --mprpsvls-border.
.mprpsvls-widget { margin: 12px 0 18px; }
.mprpsvls-bar { --mprpsvls-primary: #1f7a4d; }
.mprpsvls-listing-badge { font-size: 0.75rem; }
Désactiver ou désinstaller
Désactivez "Enable module" pour arrêter l'affichage et le suivi normaux. La désinstallation supprime la configuration du module, son menu, son inscription à Theme Detector et la table de suivi des vues. Sauvegardez cette table si vous avez besoin de son historique. Les commandes PrestaShop existantes restent intactes.
Questions
3
Le module compte-t-il les vues et les ventes séparément pour chaque boutique en multiboutique ?
Oui. Les vues produit sont enregistrées avec un identifiant de boutique. Les vues, commandes valides, visiteurs récents et achats récents sont filtrés par la boutique actuelle. La statistique de ventes compte les commandes valides distinctes de cette boutique, pas les unités vendues.
Quelles données visiteurs le suivi des vues enregistre-t-il ?
Chaque ligne de vue contient les identifiants du produit, de la boutique et du visiteur, un horodatage et un identifiant de ligne interne. Elle ne contient aucun nom, e-mail ni adresse IP. Les achats récents sont lus dans les commandes, clients et adresses existants. Les noms sont masqués par défaut, mais la ville et le pays restent visibles. Un nettoyage occasionnel supprime les vues plus anciennes que le double de la période de rapport ; la désinstallation supprime la table des vues.
Quel travail supplémentaire les statistiques ajoutent-elles aux pages produit ?
Le module enregistre les vues produit admissibles, interroge les compteurs activés et ajoute ses ressources de boutique aux pages produit. Les ressources des listes sont chargées lorsque leur affichage est activé. Les résultats des compteurs sont réutilisés au sein d’une même requête. Désactivez les statistiques inutiles et mesurez des pages produit et de liste représentatives avant de choisir votre configuration finale.
Problèmes connus
13
L'intégration au thème pouvait échouer avec d'autres modules
Le retour à l'onglet animait des compteurs obsolètes
Enregistrer et rester abandonnait les paramètres
Le widget apparaissait hors des pages produit
Le widget s'exécutait deux fois
L'actualisation s'arrêtait après le premier retour à l'onglet
Widget absent sous PrestaShop 1.6
Renforcement de la sécurité
L'administration du module pouvait ne pas s'ouvrir
Traductions manquantes
Le style du widget est incompatible avec le regroupement
Les pages de requêtes statistiques pouvaient être indexées
Le compteur de vues s'incrémente lors des visites de bots/crawlers
Les robots des moteurs de recherche gonflent le compteur de vues produit. Le Googlebot ajoute à lui seul des centaines de « vues » par jour.
Note de résolution
Ajout d'une détection de bots basée sur le User-Agent, avec une liste maintenue de signatures de crawlers connus.
Demandes de fonctionnalités
2
Implémenté
Activité produit en direct
Actualisation au retour sur l’onglet
Journal des modifications
v1.2.02026-10-04
- Addedself-healing integrity checks for automatic diagnostics and repair
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
Versions précédentes
v1.1.02026-01-29
- AddedPS 9 / Hummingbird theme compatibility
- Addedconfigurable counter labels with translation support
- ImprovedRedis-backed view counter — eliminates per-request DB writes
- Fixedsales counter not updating on multi-currency stores
v1.0.112026-01-20
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedAdd noindex header to stats ajax endpoint
- FixedAdd theme detector support
- FixedUse local CSS path for CCC bundling compatibility
v1.0.02025-10-18
- Initialrelease: real-time product views and sales counters
- InitialLive view counter on listing cards and product detail pages
- InitialSales counter sourced from actual order history
- InitialCompatible with PS 1.7.x and PS 8.x
Demo
Testez le module complet avant d'acheter
Achetez la licence plus tard et gardez vos réglages.
- Votre démo de 30 jours Testez-le sur votre propre boutique pendant 30 jours à partir de la première installation.
- Boutique de démo prête Découvrez une boutique de démo prête dans votre navigateur.
- Sans inscription Ni compte, ni e-mail, ni domaine de boutique requis.
En téléchargeant, vous acceptez les conditions de la démo et la politique de confidentialité.
En ouvrant cette démo, vous acceptez les conditions de la démo et la politique de confidentialité.