Jump to content

[PS 1.7.5] Catégories fantômes & URL faussées


Recommended Posts

Bonjour la commu,

Je suis aujourd'hui face à un cas assez spécial :

Lorsque je crée de nouvelles catégories tout se passe bien mais les urls sont problématiques car leurs permaliens font doublons, voilà un exemple http://nomdusite/categ_parent/nom_de_la_categ/nom_de_la_categ j'ai comme vous le voyez une répétition en fin d'URL.

Le format dans les settings SEO et modules de gestion des URLS sont clean le soucis ne viens pas de là selon moi.

J'ai checké la categ posant soucis et je vois une anomalie dans le chemin présenté dans le BO :

image.png.baa09639ce03caed14fb2478570c30f4.png

 

Une catégorie "fantôme" apparait dans en fin de chemin, ici "tabourets" je suis allé voir en BDD et cette categ est une ancienne catégorie qui ne devrait plus exister et sa catégorie parente n'existe plus (je précise que l'id categ_parent n'est pas celle de la categ affichée).

Je ne peux donc pas la voir en BO car pas de parent viable => J'ai donc assigné la categ principal comme categ mère et je la vois dans la liste mais impossible de la supprimer et étrangement même en mode debug je n'ai pas la barre de debug qui s'affiche ...

Avez-vous deja eut des cas similaires ? De quel façon ces anciennes catégories fantomes pourraient influer ainsi une nouvelle catégorie fraichement créée ?

Existe-t-il une façon de supprimer proprement ces anciennes catégories fantômes via SQL ou via un Module ?

Link to comment
Share on other sites

Bien, après moultes test sur un local voici comment j'ai réglé le soucis

Lorsque vous avez une catégorie mal supprimée ou manquante dans une des 5 tables qui constituent le fondement d'une catég vous pouvez avoir des effets de bord tel que j'en ait eut qui impactent la construction des URLS de vos catégories (soucis vu uniquement en 1.7.5)

Pour régler ce soucis il faut alors supprimer les catégories corrompus en les isolants, dans mon cas c'était des catégories sans parent et l'intégralité de la procédure a été exécuté en direct sur la BDD 

SELECT * FROM ps_category WHERE id_parent_categ NOT IN (SELECT * FROM ps_category) => On récupère la liste des categ posant soucis

Puis on supprime le plus proprement possible les catégories avec cette suite de requêtes : 

DELETE FROM `ps_category_lang` WHERE `id_category` IN (Liste des id des categ récupéré auparavant )

DELETE FROM `ps_category_shop` WHERE `id_category` IN (Liste des id des categ récupéré auparavant )

DELETE FROM `ps_category_product` WHERE `id_category` IN (Liste des id des categ récupéré auparavant )

DELETE FROM `ps_category_group` WHERE `id_category` IN (Liste des id des categ récupéré auparavant )

DELETE FROM `ps_category` WHERE `id_category` IN (Liste des id des categ récupéré auparavant )

 

Après cette suite de requêtes les categ corrompus ont été proprement supprimés et plus d'effet de bord sur mes catég (j'ai cependant du re-enregistré les catég affectés auparavant pour que leurs URLS soient recréer proprement)

 

En espérant que cela aidera les personnes se retrouvant confronté au même soucis

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...