Sillage Posted May 4, 2011 Share Posted May 4, 2011 Bonjour,J'ai pu découvrir dans la nouvelle version de Prestashop, la possibilité d'administrer le positionnement ses catégories. Toutefois, il me semble avoir découvert un soucis avec cette fonctionnalité.Effectivement, lorsque l'on déplace une sous-catégorie dans une autre catégorie parent, cette dernière garde sa valeur de position définit lors de sa catégorie parent d'origine. Cela pose alors des problèmes de superposition car cette sous-catégorie peut se retrouver avec la même valeur de position qu'une autre sous-catégorie de sa catégorie parent d'adoption.Voici un petit shéma pour mieux comprendre.Soit 2 catégories parent : Son et Informatique :- (1) Son ---- (1) ipods ---- (2) enceintes ---- (3) cartes son- (2) Informatique ---- (1) mémoires ---- (2) cartes graphique ---- (3) cartes mères---- (4) sourisJe souhaite déplacer la sous-catégorie Carte son (position 3 de la catégorie parent "Son") dans la catégorie parent "Informatique". Voici donc le résultat que j'obtiens :- (1) Son ---- (1) ipods ---- (2) enceintes- (2) Informatique ---- (1) mémoires ---- (2) cartes graphique ---- (3) cartes mères---- (3) cartes son ---- (4) sourisOn voit donc que "cartes son" a gardé sa position 3 et se superpose à la position de "cartes mères" qui est également de 3 dans la catégorie parent "Informatique".Imaginez un arbre de catégories bien plus conséquent et compliqué et plusieurs mises à jour de ce type... on va vite se retrouver bloqué non ?Est-ce un fonctionnement problématique que vous avez également constaté ? Existe t'il une alternative ? Est-ce un bug ?Cordialement.Mon installation :Prestashop : 1.4.1.0PHP : 5.3.0Apache : 2.2.11 Link to comment Share on other sites More sharing options...
Samy_R Posted May 4, 2011 Share Posted May 4, 2011 Que plusieurs catégories aient la même position n'est pas très grave, pour une même position, l'ordre alphabétique s'applique (je crois) Link to comment Share on other sites More sharing options...
Sillage Posted May 4, 2011 Author Share Posted May 4, 2011 Oui, il me semble également.Par contre, si je me retrouve dans un cas de figure où mon arbre de catégories est conséquent, que j'ai fait bcp de migrations de catégories, je peux me retrouver avec plusieurs sous catégories ayant la même valeur de positions. Par conséquent, une nouvelle mise à jour de positionnement à l'intérieur de cette catégorie parent va poser problème.Exemple :- (2) Informatique—— (1) mémoires—— (2) cartes graphique—— (3) cartes mères—— (3) clavier—— (3) cartes son—— (4) sourisComment dans ce cas de figure je place "cartes son" à la 3ème place ? "cartes mère" et "cartes son" vont échanger leur valeur de position (c'est à dire 3) mais si l'ordre alphabétique s'active, je reste avec le même positionnement qu'au départ soit "cartes mère", "cartes son" et "claviers" et non "cartes son", "cartes mère" et "claviers" et comme je souhaiterai. Link to comment Share on other sites More sharing options...
Samy_R Posted May 4, 2011 Share Posted May 4, 2011 Ou tout simplement, placer ces catégories en dernière position, puis la remettre ensuite au bon endroit. Link to comment Share on other sites More sharing options...
Sillage Posted May 4, 2011 Author Share Posted May 4, 2011 Effectivement.Mais ça ne me semble pas génial question IHM. Et encore moins quand il faut expliquer ça à un client.Pourtant, on voit bien que des fonctions ont été développées dans la classe Category pour régénérer le positionnement static public function cleanPositions($id_category_parent) (ligne 866) Mais ne me semble pas appliqué lors d'un update de catégorie... Link to comment Share on other sites More sharing options...
Samy_R Posted May 4, 2011 Share Posted May 4, 2011 Je vais faire un rapport de bug sur http://forge.prestashop.com Link to comment Share on other sites More sharing options...
Sillage Posted May 4, 2011 Author Share Posted May 4, 2011 Ok.Intéressé par le lien pour suivre ce bug si tu veux bien. Link to comment Share on other sites More sharing options...
Samy_R Posted May 4, 2011 Share Posted May 4, 2011 Ici : http://forge.prestashop.com/browse/PSCFI-1766 Link to comment Share on other sites More sharing options...
Thomas Didierjean Posted May 5, 2011 Share Posted May 5, 2011 Bonjour,J'ai corrigé le problème sur notre version de développement. Maintenant, la catégorie déplacée se place toujours en dernière position.Vous pouvez récupérer le correctif en allant sur la page du bug posté par Samy_R, onglet "Source". Link to comment Share on other sites More sharing options...
Sillage Posted May 5, 2011 Author Share Posted May 5, 2011 Bonjour,J'ai corrigé le problème sur notre version de développement. Maintenant, la catégorie déplacée se place toujours en dernière position.Vous pouvez récupérer le correctif en allant sur la page du bug posté par Samy_R, onglet "Source". Merci pour la mise à jour Thomas.Toutefois, si je peux me permettre, il n'est pas nécessaire de vérifier si un doublon de positionnement est existant dans la catégorie adoptive. Récupérer le dernier positionnement et l'appliquer à la sous-catégorie adoptée suffit.En appliquant ça, il me semble impossible d'avoir des doublons de positionnement et votre fonction getDuplicatePosition() serait alors superflue non ? Link to comment Share on other sites More sharing options...
Thomas Didierjean Posted May 5, 2011 Share Posted May 5, 2011 Ce n'est pas si simple parce que à ce moment là du code, la catégorie ne sait pas qu'elle a été déplacée, juste qu'elle est en train d'être mise à jour. Le test de duplication permet de savoir qu'elle a effectivement été déplacée. Link to comment Share on other sites More sharing options...
Sillage Posted May 5, 2011 Author Share Posted May 5, 2011 Le fait de ne pas savoir qu'elle a été déplacée n'est pas important selon moi vu qu'on lui force quoi qu'il arrive la dernière position de sa catégorie adoptive (le $this->id_parent étant l'ID de la catégorie adoptive dans ce cas).J'ai peut-être omis quelques paramètres dans ma réflexion remarquez Link to comment Share on other sites More sharing options...
Thomas Didierjean Posted May 5, 2011 Share Posted May 5, 2011 En fait, si on met à jour une catégorie sans la déplacer, un changement de nom par exemple, le processus est exactement le même. Mais on ne veut pas qu'elle se retrouve en dernière position dans ce cas là, on veut qu'elle garde la même place ! Link to comment Share on other sites More sharing options...
Sillage Posted May 5, 2011 Author Share Posted May 5, 2011 Effectivement !Merci en tout pour cette résolution rapide. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now