Pythagore75 Posted August 11, 2012 Share Posted August 11, 2012 Bonsoir Besoin de votre aide... car les réponses sur le forum date et ne semblent plus opérationnelles. Pour un produit, j'ai créé des déclinaisons selon les grades de l'armée. Dans ma liste déroulante, ces grades sont classés par ordre alphabétique alors que j'aimerai les classer par orde croissant (du moins gradé au plus gradé)... Avez-vous une solution pour trier des déclinaisons? merci ! Link to comment Share on other sites More sharing options...
A1TH Posted September 30, 2012 Share Posted September 30, 2012 Bonjour, Avez vous trouvez une solution à ce problème ? Je rencontre le même souci, je souhaite classer mes déclinaisons, mes celles-ci son dans l'ordre alphabetique, ce qui ne correcpond pas du tout à la logique des choix proposés. Merci de votre réponse ou si d'autres peuvent aider sur cette question Link to comment Share on other sites More sharing options...
A1TH Posted September 30, 2012 Share Posted September 30, 2012 Bonjour, Après avoir parcouru le forum et fait des tests et un dimanche complet, j'ai enfin trouvé la solution. Tout d'abord, j'ai installé le module proposé ici : http://www.henribaey...uteposition.zip Mais les explications données http://www.henribaey...tributeposition n'étaient pas claires pour moi et si elle étaient appliquées à la lettre, ça ne fonctionnait pas chez moi. Je précise que je suis sur la Version PS 1.4.9.0. En effet, il y a une petite erreur de syntaxe (mais moi qui n'y connait rien en codage, la virgule manquante ou autre ne me parle pas). Donc, voici précisément ce que j'ai fait. Dans le fichier ../classes/Product.php sous la fonction public function getAttributesGroups($id_lang) j'ai modifié la ligne 2191 ORDER BY agl.`public_name`, al.`name`'); par ORDER BY ag.`position` ASC, a.`position` ASC'); Dans le fichier ../controllers/ProductController.php j'ai supprimé la ligne 322 : foreach($groups AS &$group) natcasesort($group['attributes']); comme suit foreach($groups AS &$group) ET maintenant, ça marche à merveille. En tout cas, merci à Henri Baeyens En espérant que ça puisse aider certains. Link to comment Share on other sites More sharing options...
ndpconsult Posted October 11, 2012 Share Posted October 11, 2012 Merci, super, effectivement ça marche nikel Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 (edited) pourriez vous prendre 5 min pour m'aider a trouver d'où viens le probleme ou quelle manip ai-je mal fait svp? En voyant ce post je pensai etre sauvé, mais je suis vraiment une quiche en codage, je pensai avoir bien fait la manip, il semblerai que non ca ne fonctionne pas. merci d'avance pour votre aide car je sais vraiment pas quoi faire Edited October 11, 2012 by MILBUC (see edit history) Link to comment Share on other sites More sharing options...
A1TH Posted October 11, 2012 Share Posted October 11, 2012 pourriez vous prendre 5 min pour m'aider a trouver d'où viens le problème ou quelle manip ai-je mal fait svp? Ca serait plus facile si vous expliquez votre problème, sans ça, difficile d'apporter une aide ! Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 (edited) bah j ai fait la modif je pense correctement, mais c'est tjs dans le désordre. la ou je me pose une question, c'est dans le bout de code que vous mettez y a des choses en vert d autre en noir etc... moi apres modif tout est en noir. comme je disais je n y connai rien en codage, le probleme peut il venir de la? je viens de reverifier tout semble avoir été modifié correctement... edit: en back office je peut effectivement changer l'ordre comme je le souhaite, mais en FO rien ne change.... Edited October 11, 2012 by MILBUC (see edit history) Link to comment Share on other sites More sharing options...
A1TH Posted October 11, 2012 Share Posted October 11, 2012 Dans le BO, préferences, performances Avez vous forcer la compilation smarty (OUI) ? et désactiver la cache (NON). ET peut être vider le dossier smarty afin de voir les changements sur le FO. Je ne suis pas un expert non plus... donc essayez cela. Link to comment Share on other sites More sharing options...
ndpconsult Posted October 11, 2012 Share Posted October 11, 2012 Pour les couleurs, ne pas s'en préoccuper si on est pas programmeur : le problème ne vient pas de là de toutes façons. Avez-vous essayé de changer la déclinaison par défaut, par ailleurs, en cochant à l'endroit approprié ? Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 (edited) Dans le BO, préferences, performances Avez vous forcer la compilation smarty (OUI) ? et désactiver la cache (NON). ET peut être vider le dossier smarty afin de voir les changements sur le FO. Je ne suis pas un expert non plus... donc essayez cela. J ai fait les manip pour forcer la compilation smarty sur oui et desactiver la cache Ca ne fonctionne toujours pas, mais je n ai pas vider le dossier smarty (je ne l ai pas trouvé) Pour les couleurs, ne pas s'en préoccuper si on est pas programmeur : le problème ne vient pas de là de toutes façons. Avez-vous essayé de changer la déclinaison par défaut, par ailleurs, en cochant à l'endroit approprié ? ok merci pour le renseignements sur les couleurs J avais deja bien coché la déclinaison par défaut, c'est la seule chose qui fonctionne d'ailleurs, quand j arrive sur ma fiche article j ai bien la déclinaison par défaut, qui est proposé. mais lorsque j' affiche le menu déroulant , tout est mélangé... toujours au meme résultat grrrr Edited October 11, 2012 by MILBUC (see edit history) Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 A1TH ou NDPCONSULT, aura t-il possibilité que vous me donniez votre mail par mp, je vous envoi mon fichier cela vous permettrai de jeter un oeil et comparer si c'est bien comme sur le votre? Peut etre que j ai mal fait les modif, pour moi ca m'a l air correct mais n'y connaissant rien peut etre que je me plante... Link to comment Share on other sites More sharing options...
A1TH Posted October 11, 2012 Share Posted October 11, 2012 Vous pouvez copier votre code ici. Ainsi, tout le monde pourra le voir et contribuer. Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 alors pour le fichier: ../classes/Product.php, voila ce que j'ai -moi c'est a la ligne 2220 public function getAttributesGroups($id_lang) { return Db::getInstance()->ExecuteS(' SELECT ag.`id_attribute_group`, ag.`is_color_group`, agl.`name` AS group_name, agl.`public_name` AS public_group_name, a.`id_attribute`, al.`name` AS attribute_name, a.`color` AS attribute_color, pa.* FROM `'._DB_PREFIX_.'product_attribute` pa LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute` LEFT JOIN `'._DB_PREFIX_.'attribute` a ON a.`id_attribute` = pac.`id_attribute` LEFT JOIN `'._DB_PREFIX_.'attribute_group` ag ON ag.`id_attribute_group` = a.`id_attribute_group` LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON a.`id_attribute` = al.`id_attribute` LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON ag.`id_attribute_group` = agl.`id_attribute_group` WHERE pa.`id_product` = '.(int)($this->id).' AND al.`id_lang` = '.(int)($id_lang).' AND agl.`id_lang` = '.(int)($id_lang).' ORDER BY ag.`position` ASC, a.`position` ASC'); } et pour le fichier ../controllers/ProductController.php (moi c est la ligne 330) if (!Product::isAvailableWhenOutOfStock($this->product->out_of_stock) && Configuration::get('PS_DISP_UNAVAILABLE_ATTR') == 0) { foreach ($groups AS &$group) foreach ($group['attributes_quantity'] AS $key => &$quantity) if (!$quantity) unset($group['attributes'][$key]); foreach ($colors AS $key => $color) if (!$color['attributes_quantity']) unset($colors[$key]); } Link to comment Share on other sites More sharing options...
A1TH Posted October 11, 2012 Share Posted October 11, 2012 Bonsoir, et pour le fichier ../controllers/ProductController.php (moi c est la ligne 330) if (!Product::isAvailableWhenOutOfStock($this->product->out_of_stock) && Configuration::get('PS_DISP_UNAVAILABLE_ATTR') == 0) { foreach ($groups AS &$group) foreach ($group['attributes_quantity'] AS $key => &$quantity) if (!$quantity) unset($group['attributes'][$key]); foreach ($colors AS $key => $color) if (!$color['attributes_quantity']) unset($colors[$key]); } En dessous de votre code (cette dernière ligne), vous deviez avoir : foreach($groups AS &$group) natcasesort($group['attributes']); Il faut maintenant supprimer cette dernière ligne pour ne laisser que : foreach($groups AS &$group) C'est ce que j'avais fait. Le problème bient peut être de là. Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 merci A1th pour te pencher sur mon probleme, mais je ne comprend pas ce qu'il faut que je fasse tu me dis que je dois supprimer natcasesort($group['attributes']); comme tu peux voir je l ai deja supprimé. non? tu peux preciser stp, je nage la, je comprend pas ce que tu me demandes de faire. merci beaucoup Link to comment Share on other sites More sharing options...
A1TH Posted October 11, 2012 Share Posted October 11, 2012 Oui, mais il me semblait que tu avais également supprimer : foreach ($groups as &$group) Et comme moi-même, je ne sais pas lire les codes, je ne sais pas si c'est important ou non ! Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 (edited) je pense que je l'ai bien laissé a sa place, je te remet un bout du code, essayer de comparer vite fait (si t as qq min) avec ton fichier voir si tu vois qqch que j aurai mal fait. je suis sur que ca doit etre qqch de tout bête en plus pas possible que ca fonctionne chez vous et pas chez moi. tu disais utiliser un version 1.4.9, moi cest une 1.4.8.2, le probleme peut-il venir de la?? je remet un plus gros bout de code si tu veux bien comparer avec le tiens... //wash attributes list (if some attributes are unavailables and if allowed to wash it) if (!Product::isAvailableWhenOutOfStock($this->product->out_of_stock) && Configuration::get('PS_DISP_UNAVAILABLE_ATTR') == 0) { foreach ($groups AS &$group) foreach ($group['attributes_quantity'] AS $key => &$quantity) if (!$quantity) unset($group['attributes'][$key]); foreach ($colors AS $key => $color) if (!$color['attributes_quantity']) unset($colors[$key]); } foreach ($groups AS &$group) foreach ($combinations AS $id_product_attribute => $comb) { $attributeList = ''; foreach ($comb['attributes'] AS $id_attribute) $attributeList .= '\''.(int)($id_attribute).'\','; $attributeList = rtrim($attributeList, ','); $combinations[$id_product_attribute]['list'] = $attributeList; } Edit: sinon je pense a quelque chose tout bete, si tu m envois ton fichier et que je le met a la place du mien, ca ne fonctionnerai pas? Edited October 11, 2012 by MILBUC (see edit history) Link to comment Share on other sites More sharing options...
A1TH Posted October 11, 2012 Share Posted October 11, 2012 Ben je suis vraiment désolé de ne pas pouvoir t'aider plus. Je viens de vérifier le code avec mon fichier, j'ai EXACTEMENT la même chose ! As tu essayé d'envoyer un email au développeur de ce module ? http://www.henribaeyens.com/10ver/filez/prestashop_module_attributeposition (contact en bas de page). Il pourra peut être t'aider. Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 bon c'est déja un bon point si tu as exactement la meme chose (au moins je n'ai pas fait de conneries). Oui je vais contacter le développeur voir s'il peut m'aider. sinon je vais devoir me tourner vers une alternative qui ne m enchante pas vraiment. (mettre une lettre devant, puisqu'il classe par ordre alphabétique), un truc du genre: a. déclinaison 1 b. déclinaison 2 c. etc..... en tout cas merci a toi et a ndpconsult d'avoir pris un peu de votre tps pour essayer de me dépatouiller. Link to comment Share on other sites More sharing options...
A1TH Posted October 11, 2012 Share Posted October 11, 2012 ben oui, mais c'est justement l'objectif de ce module. Ne pas être obligé de mettre une lettre ou un numéro. Dernier essai : désinstalle le module et réinstalle le.... en vidant le cache smarty etc... on ne sait jamais. Link to comment Share on other sites More sharing options...
MILBUC Posted October 11, 2012 Share Posted October 11, 2012 (edited) bon bah il ne veux rien savoir... j vais passer a autre chose pour ce soir , je sature avec ce satané probleme et je ne sais plus quoi essayer. je vais passer a autre chose, demain j enverrai un mail au développeur , voir s'il a un tuyau. si c'est le cas je reviendrai mettre l'explication. bon courage pour la suite A1TH Edited October 11, 2012 by MILBUC (see edit history) Link to comment Share on other sites More sharing options...
A1TH Posted October 11, 2012 Share Posted October 11, 2012 ok, merci et bonne soirée ! Link to comment Share on other sites More sharing options...
swissjah Posted January 30, 2013 Share Posted January 30, 2013 1000 merci a A1TH ! Ca fonctionne sur Presta 1.4.8.2 Link to comment Share on other sites More sharing options...
mrfish Posted September 3, 2013 Share Posted September 3, 2013 Bonjour, je relance un peu le post car j'ai un soucis : Lorsque je reupload le fichier Product.php j'obtiens une erreur 500 et impossible d'accèder ni au backoffice ni au front. Que ça soit dans le dossier class ou override. Je pense qu"il n'ya pas d'erreur dans le code car même quand je reupload le fichier original j'ai le problème. Des idées ? Merci 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