RobertoCastro Posted September 16, 2009 Share Posted September 16, 2009 Bonjour,j'ai constaté ce problème sur la version 1.2.4 sur des installations propres sans aucune modification de ma part.Lorsque je suis dans l'onglet catalogue du BO je veux modifier l'ordre des produits de la page d'accueil avec les petites flèches noires.Les positions ne changent pas et j'ai le message suivant : "Failed to update the position."Je constate également que la table ps_category_product de base possède 2 lignes avec la position 0 et ce pour 2 produits différents de la page d'accueil.Je ne sais pas si il y a un lien. Je n'ai pas cherché encore plus loin. J'avais déjà constaté sur la version 1.2.3, lorsque je modifiais la fiche d'un produit ça créait des conflits dans les positions.Avant d'aller plus loin dans mes recherches, je voulais savoir si c'était un bug connu des dernières versions. Je n'ai rien trouvé là-dessus sur le bug tracker.Merci de votre attention et à bientôt. Link to comment Share on other sites More sharing options...
guest Posted September 17, 2009 Share Posted September 17, 2009 J'ai constaté le même disfonctionnement. Link to comment Share on other sites More sharing options...
Patric Posted September 17, 2009 Share Posted September 17, 2009 Je n'ai rien trouvé là-dessus sur le bug tracker. Apparemment, tu as trouvé http://www.prestashop.com/bug_tracker/view/2892/ Link to comment Share on other sites More sharing options...
RobertoCastro Posted September 17, 2009 Author Share Posted September 17, 2009 Pris en flagrant délit.J'ai vu le post sur le bug tracker après-coup et je ne suis pas revenu mettre à jour ce post. Link to comment Share on other sites More sharing options...
hannibal Posted December 15, 2009 Share Posted December 15, 2009 C'est assez simple à corriger pourtant.La méthode updatePosition de la classe Product met à jour la position à l'aide de la valeur de $id_category.Quand on se trouve sur l'accueil de la gestion des produits, on n'a pas cette valeur...Du coup, Tools::getValue('id_category') retourne 0. Or, la catégorie de l'accueil ne vaut pas 0, mais 1 (et c'est d'ailleurs sans doute ça la principale erreur )Donc, pour corriger le soucis, deux solutions.Pour les bricoleurs, il faut aller dans classes/product, et chercher la méthode updatePosition. Au début on met quelques chose du genre $lacategorie = Tools::getValue('id_category')?Tools::getValue('id_category'):1; puis, on remplace le "Tools::getValue('id_category')" initial de la première requête par "$lacategorie" (ligne 296 sur ma version, mais j'ai un peu modifier partout donc ce sera peut-être un autre numéro chez vous). Problème réglé.Pour les non bricoleur, il faut cliquer sur l'icône en forme de maison tout en haut, dans "Catégorie actuelle : Home Accueil". Et du coup, l'id_category apparait.Bonne journée à tous.(PS : bug un peu bête et pas difficile à corriger, j'espère que vous ferez remonter l'info sur le bugtrack', je ne ferai pas l'effort de l'anglais désolé ) Link to comment Share on other sites More sharing options...
LeRedac Posted May 24, 2010 Share Posted May 24, 2010 Merci Hannibal pour la solution !je vous la propose en un peux plus clair… :-)1 >> Ouvrez | Open >> classes/Product.php2 >> Chercher vers la ligne : 290 | search line : 2903 >> Remplacer ça : | Change this public function updatePosition($way, $position = NULL) { if (!$res = Db::getInstance()->ExecuteS(' SELECT cp.`id_product`, cp.`position`, cp.`id_category` FROM `'._DB_PREFIX_.'category_product` cp WHERE cp.`id_category` = '.intval(Tools::getValue('id_category')).' ORDER BY cp.`position` '.(intval($way) ? 'ASC' : 'DESC'))) Par |With public function updatePosition($way, $position = NULL) { $lacategorie = Tools::getValue('id_category')?Tools::getValue('id_category'):1; if (!$res = Db::getInstance()->ExecuteS(' SELECT cp.`id_product`, cp.`position`, cp.`id_category` FROM `'._DB_PREFIX_.'category_product` cp WHERE cp.`id_category` = '.$lacategorie.' ORDER BY cp.`position` '.(intval($way) ? 'ASC' : 'DESC'))) Et voila ça marche ! Link to comment Share on other sites More sharing options...
Rosiel Posted June 4, 2010 Share Posted June 4, 2010 Bonjour,Je suis intéressée par votre réponse car j'ai exactement le même problème que Roberto Castro. Mais voilà je n'ai déjà pas tout à fait les mêmes lignes de code que vous (LeRedac) ? Pouvez-vous me dire ce que je dois garder et enlever ? public function updatePosition($way, $position = NULL) { $valor = Tools::getValue('id_category'); if ($valor==0) $valore = 1; if (!$res = Db::getInstance()->ExecuteS(' SELECT cp.`id_product`, cp.`position`, cp.`id_category` FROM `'._DB_PREFIX_.'category_product` cp WHERE cp.`id_category` = '.intval($valor).' ORDER BY cp.`position` '.(intval($way) ? 'ASC' : 'DESC')))Merci par avance, car ces histoires de positions de produits dans la liste c'est galère... Link to comment Share on other sites More sharing options...
Rosiel Posted June 4, 2010 Share Posted June 4, 2010 Ah au fait, comment faîtes-vous pour insérer vos codes dans le message (rose avec la barre de défilement) ??? MERCI Link to comment Share on other sites More sharing options...
Bouh Posted June 4, 2010 Share Posted June 4, 2010 tu fais : {code] ton code {/code] et tu remplaces mes { par des [ 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