PS PrestaShop Débutant

DataFirefly Fix Product Category : rattacher les produits à leurs catégories parentes

Installation, simulation et correction en masse, mode automatique, exclusions et dépannage.

Mis à jour Version du module 1.0.0

Installation

Installez le module depuis Modules > Gestionnaire de modules > Installer un module en envoyant le fichier ZIP, ou déposez le dossier dffixproductcategory dans le répertoire /modules/ de votre boutique puis cliquez sur Installer.

L’installation ajoute l’onglet Correction des catégories produit sous le menu Catalogue et enregistre les hooks du mode automatique. Aucune table n’est créée : le module écrit uniquement dans la table native category_product.

La correction en masse ajoute des associations sur tout le catalogue. Sauvegardez la table category_product avant la première correction, pour pouvoir revenir en arrière si le résultat ne correspond pas à votre organisation.

Principe de fonctionnement

Pour chaque catégorie d’un produit, le module remonte l’arbre jusqu’au sommet et ajoute les catégories parentes auxquelles le produit n’est pas encore associé. Toutes les catégories du produit sont prises en compte, pas seulement sa catégorie par défaut.

Exemple : un produit associé uniquement à Chaussures > Running > Trail est ajouté à Running et à Chaussures. La catégorie Racine n’est jamais ajoutée, la catégorie Accueil seulement si l’option correspondante est active.

  • Aucune association existante n’est supprimée.
  • La catégorie par défaut du produit n’est jamais modifiée : le fil d’Ariane et l’URL du produit restent identiques.
  • Le produit est placé en dernière position dans chaque catégorie ajoutée, ce qui préserve votre tri manuel.
  • L’arbre est lu à partir de la catégorie parente de chaque catégorie, le résultat reste donc juste même si l’arbre imbriqué de PrestaShop n’a pas été régénéré.

Correction en masse

Ouvrez Catalogue > Correction des catégories produit. Le panneau Correction en masse traite tout le catalogue par lots, avec une barre de progression.

Simuler

Cliquez sur Simuler. Rien n’est écrit. Les compteurs indiquent le nombre de produits dans le périmètre, les produits à corriger et les associations manquantes. Le tableau d’aperçu liste les 100 premiers produits concernés avec les catégories qui leur seront ajoutées.

Corriger le catalogue

Cliquez sur Corriger le catalogue et confirmez. Les lots s’enchaînent jusqu’à la fin du catalogue et le compteur Associations ajoutées indique le résultat. Vous pouvez relancer la correction à tout moment : les produits déjà corrigés ne sont pas modifiés.

Produits actifs uniquement

Cochez cette case pour limiter la simulation et la correction aux produits actifs de la boutique courante. Par défaut, tous les produits sont traités, y compris les produits désactivés, pour qu’ils soient correctement classés le jour où vous les réactivez.

Réglages

Inclure la catégorie Accueil

Désactivé par défaut. Une fois activé, la catégorie Accueil est ajoutée comme les autres parents. En multiboutique, chaque boutique possède sa propre catégorie Accueil et le réglage s’applique à chacune.

Mode automatique à l’enregistrement d’un produit

Activé par défaut. Chaque produit créé ou modifié est rattaché à ses catégories parentes. Le traitement a lieu à la fin de la requête, après l’enregistrement des catégories du produit, ce qui couvre la fiche produit de PrestaShop 8 et 9, l’import CSV et le webservice.

Mode automatique au déplacement d’une catégorie

Activé par défaut. Quand vous changez la catégorie parente d’une catégorie, tous les produits de sa branche sont rattachés aux nouveaux parents. Une modification du nom ou de la description ne déclenche aucun traitement. Les anciens parents restent associés aux produits : retirez-les à la main si besoin.

Catégories exclues

Sélectionnez les catégories qui ne doivent jamais être ajoutées comme parentes, par exemple une catégorie vitrine Promotions ou Nouveautés. Le champ de filtre retrouve une catégorie par son nom, et Ctrl (Cmd sur Mac) permet d’en sélectionner plusieurs. Une catégorie exclue est sautée, mais ses propres parents continuent d’être ajoutés.

Taille des lots

Nombre de produits traités par requête pendant la correction en masse, de 20 à 2000. La valeur par défaut, 200, convient à la plupart des hébergements. Baissez-la si une requête dépasse le temps d’exécution maximal de votre serveur.

Recherche à facettes

Après chaque ajout d’associations, le module vide le cache des blocs de filtres de ps_facetedsearch, pour que les filtres des catégories parentes tiennent compte des nouveaux produits. Les associations étant créées en base, aucune option d’affichage des sous-catégories n’est nécessaire dans le module de navigation à facettes.

Bonnes pratiques

  • Lancez une simulation avant la première correction et parcourez l’aperçu pour valider le résultat.
  • Réglez les exclusions avant la correction en masse, pas après : le module ne retire jamais une association déjà créée.
  • Après un gros import, relancez une correction en masse pour contrôler qu’aucun produit n’a été oublié.
  • Videz le cache de la boutique si un listing ne montre pas immédiatement les nouveaux produits.

Dépannage

Le mode automatique ne se déclenche pas pour certains employés

PrestaShop ignore les hooks d’un module quand le profil de l’employé connecté n’a pas le droit Voir sur ce module (Paramètres avancés > Équipe > Permissions, section Modules). Donnez ce droit aux profils qui modifient le catalogue, ou lancez une correction en masse après leurs modifications.

Une catégorie retirée d’un produit revient à l’enregistrement

C’est le comportement attendu du mode automatique : toute catégorie parente d’une catégorie du produit est rajoutée. Ajoutez cette catégorie aux exclusions, ou retirez aussi la sous-catégorie concernée du produit.

La correction en masse s’arrête sur une erreur

Réduisez la taille des lots et relancez : les produits déjà traités sont ignorés au passage suivant. Les erreurs du mode automatique sont enregistrées dans Paramètres avancés > Logs, sans jamais bloquer l’enregistrement du produit.

Compatibilité

  • PrestaShop 8.0 à 9.x, le même ZIP couvre les deux branches.
  • Multiboutique et multilingue.
  • Architecture ModuleAdminController, sans dépendance Composer.
  • Interface disponible en français, anglais, espagnol, allemand, italien, néerlandais, polonais et portugais.
Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support