Erreur « CategoryException » sur PrestaShop 8.1.5 : Problème d’affectation des catégories aux produits

Lors de la gestion des produits dans PrestaShop 8.1.5, certains utilisateurs rencontrent une erreur lorsqu’ils essaient d’ajouter une nouvelle catégorie à un produit existant :

« Une erreur inattendue s’est produite. [PrestaShop\PrestaShop\Core\Domain\Category\Exception\CategoryException code 0] »

Cette erreur empêche l’enregistrement de la nouvelle affectation de catégorie et peut être frustrante. Nous allons voir ensemble les causes possibles ainsi que les solutions permettant de la résoudre.

Pourquoi cette erreur se produit-elle ?

Plusieurs raisons peuvent être à l’origine de cette erreur :

  • Une incohérence dans la table ps_category_product avec des enregistrements incorrects.
  • Des catégories orphelines qui n’ont pas de parent défini correctement.
  • Des doublons dans la base de données concernant les catégories affectées à un produit.
  • Un problème lié aux autorisations ou à la gestion multi-boutiques.

Les étapes pour résoudre le problème

Voici les étapes que nous avons suivies pour identifier et corriger l’erreur.

1. Vérification des incohérences dans la table ps_category_product

Nous avons exécuté la requête suivante pour identifier les produits affectés à une catégorie inexistante :

SELECT * FROM ps_category_product WHERE id_category = 0;

Si cette requête retourne des résultats, cela signifie que certains produits sont liés à une catégorie inexistante. Il est alors nécessaire de les supprimer :

DELETE FROM ps_category_product WHERE id_category = 0;

2. Vérification et correction des doublons

Ensuite, nous avons cherché les doublons dans la table ps_category_product :

SELECT id_product, id_category, COUNT(*) FROM ps_category_product GROUP BY id_product, id_category HAVING COUNT(*) > 1;

Si des doublons existent, ils peuvent être supprimés avec :

DELETE FROM ps_category_product WHERE id_product = [ID_PRODUIT] AND id_category = [ID_CATEGORIE] LIMIT 1;

3. Vérification des permissions et du mode multi-boutique

Nous avons vérifié si le produit était bien affecté à la bonne boutique :

SELECT * FROM ps_category_shop WHERE id_category = [ID_CATEGORIE];

Si le produit n’est pas présent dans la boutique correcte, nous l’avons réassigné.

Résultat et recommandation

Après avoir appliqué ces correctifs, nous avons pu corriger l’erreur et permettre l’ajout de catégories aux produits sans rencontrer d’erreur.

Besoin d’une assistance sur PrestaShop ?

PrestaWeb est une agence spécialisée dans la création et la maintenance de boutiques e-commerce sous PrestaShop. Nous proposons :

  • La création de sites e-commerce sur mesure.
  • La maintenance et l’optimisation de votre boutique en ligne.
  • Des solutions innovantes intégrant l’intelligence artificielle pour améliorer votre gestion e-commerce.

Pour en savoir plus sur nos services ou obtenir un devis, contactez-nous !

À lire également

Découvrez notre article sur les Nouveautés de PrestaShop 9.0 pour anticiper les changements à venir et optimiser votre boutique en ligne.

Vous souhaitez aller plus loin ?

Découvrez notre dossier complet dédié à la thématique Prestashop pour accéder à plus de ressources et de conseils d'experts.

Voir le dossier complet →
Auteur

Mohammed ZKIEK

Expert Web chez PrestaWeb. Passionné par la création de sites internet performants, le design UX/UI et le référencement naturel pour aider les entreprises à se développer en ligne.

Estimer mon projet WhatsApp Appeler
Appeler Estimer le projet