aide prestashop PhenixSuite Help
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    • S'inscrire
    • Se connecter

    Mes catégories ne s'affichent plus correctement et impossible d'associer un produit

    Planifier Épinglé Verrouillé Déplacé Discussion générale
    2 Messages 0 Publieurs 835 Vues
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • eoliaE Hors-ligne
      eolia
      dernière édition par

      Mes catégories s'affichent bien en back-office mais rien ne fonctionne en front office et les associations produit/catégories ne fonctionnent pas, que faire ?​

      Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

      1 réponse Dernière réponse Répondre Citer 0
      • eoliaE Hors-ligne
        eolia
        dernière édition par eolia

        Parfois Prestashop ne répond plus correctement au niveau de l'affichage ou association des catégories. Le problème vient généralement de la base de données où les tables ne sont plus "en ordre". Le but de ce post est de vous expliquer le fonctionnement et pouvoir le réparer si vous n'avez pas trop de catégories (Dans le cas contraire, des professionnels sont à votre service ! 🙂)

        Plusieurs choses à savoir/comprendre :

        (Les explications sont données ici pour du mono-boutique)

        Vous devez avoir dans ps_category ces 2 premières lignes qui concernent la catégorie Root et Accueil. Root est invisible mais obligatoire.

        id_category id_parent id_shop_default level_depth nleft nright active date_add date_upd position is_root_category
        1 0 1 0 1 22 1 2014-02-27 04:28:50 2014-02-27 04:28:50 0 0
        2 1 1 1 2 21 1 2014-02-27 04:28:50 2014-02-27 04:28:50 0 1

        root (id=1) doit avoir 0 en is_root_category.

        Accueil(id=2) DOIT être en 1

        Si vous n'êtes pas sûr des noms des catégories, regardez dans ps_category_lang

        Vérifiez dans ps_configuration que l'id home est correct (PS_HOME_CATEGORY = 2)

        Vérifiez le également dans ps_shop (id_category = 2)

        Dessinez sur une feuille l'arbre de vos catégories avec leur nom et leur id (autrement vous allez vite être perdus^^)

        Il faut comprendre que les nleft et nright encadrent chaque catégorie, qu'ils sont uniques et se suivent sans trous !

        Root encadre l'ensemble.

        Pour l'instant vous savez qu'elle démarre à 1.

        Comptez le nombre de lignes dans cette table et multipliez le par 2, vous aurez le nright max.

        Dans l'exemple ci-dessus la catégorie va de 1 à 22

        La catégorie Accueil encadre également l'ensemble, juste après root

        Donc elle démarre à 2 à gauche et termine à 21 (dans l'exemple)

        Ensuite, et c'est là qu'on commence à s'amuser, il faut repérer les sous-catégories en différenciant celles qui ont également des sous-catégories.

        Exemple simple avec une sous-catégorie seule. (id=3, nom Test1)

        Cette catégorie va donc commencer à 3 en nleft et aller à 4 en nright (Elle s'encadre elle-même^^) avec 2 comme id_parent (Accueil pour ceux qui n'ont pas suivi)

        Ainsi de suite pour toutes les catégories simples.

        Pour une catégorie (id=4, nom Test2) avec sous-catégorie, on ne rempli pour l'instant que nleft. Le dernier n utilisé étant 4, ici nleft sera 5, son id_parent sera 2  (Accueil, toujours pour ceux qui n'ont pas suivi)

        1ère sous-catégorie de cette catégorie:

        id_parent = 4 (logique)

        nleft = 6 et si pas de sous-catégorie, nright = 7

        Idem pour les suivantes. Arrivés à la dernière, par exemple id= 8, id_parent=4, nleft = 12 et nright = 13 on peut donc connaitre le nright de la catégorie parente qui sera donc 14 (si vous avez suivi)

        Ainsi de suite pour toutes vos catégories/sous-catégories.

        le dernier nright doit correspondre à celui de l'accueil - 1

        Certains vont me dire, surtout ceux qui suivent, que je n'ai rien dit concernant la colonne level_depth. Cette colonne correspond à la profondeur de la catégorie depuis root.

        Donc facile à remplir:

        Root profondeur = 0

        Accueil = 1

        Toutes les catégories de 1er niveau = 2 et ainsi de suite.

        Bon on a fait le principal mais il reste des choses à vérifier.

        Dans ps_category_lang, contrôler le nombre et les id des catégories et s'assurer qu'ils correspondent bien à ceux de ps_category.

        Dans ps_category_group vérifier que les catégories sont bien accessibles à chaque groupe client (sauf root qui a juste un groupe 0)

        Dans ps_category_shop vérifier que toutes vos catégories sont bien présentes pour l'id_shop 1

        Dans ps_category_product, pas évident à contrôler comme ça, il suffira de vérifier pour chaque produit sa ou ses associations.

        Je ne vous ai pas parlé des positions, car c'est très simple à remettre en place dans votre BO par simple glisser/déposer^^

        Voilà pour ceux qui voulaient comprendre le fonctionnement et éventuellement réparer leur tables. Faites ça au calme, avec un arbre dessiné comme expliqué plus haut et tout devrait rentrer dans l'ordre.

        Evidemment, si vous avez 5000 catégories ça ne va pas être une partie de plaisir...

        Personnellement, je commence par reconstruire les catégories principales, puis j'importe par série et je contrôle à chaque import.

        Bon courage :)

        Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

        1 réponse Dernière réponse Répondre Citer 0
        • atchA Hors-ligne
          atch legacy
          dernière édition par

          Parfois c'est tout bêtement le cache Prestashop qu'il faille vider .
          ( surtout les modules catégories qui sont concernés)

          1 réponse Dernière réponse Répondre Citer 0
          • Premier message
            Dernier message
          bug
          26 sujets
          1.6
          24 sujets
          front-office
          11 sujets
          1.5
          8 sujets
          1.7
          5 sujets
          système
          4 sujets
          administration
          3 sujets
          hack
          3 sujets
          module
          3 sujets
          performance
          3 sujets
          smtp
          3 sujets
          transporteurs
          3 sujets
          dashboard
          2 sujets
          https
          2 sujets
          paypal
          2 sujets
          promotions
          2 sujets