gringo1er Posted February 18, 2022 Share Posted February 18, 2022 Bonjour à tous. Comme quelques uns d'entre nous, nous avons une liste très riche d'états dans lesquels les commandes peuvent être positionnés. Trop d'ailleurs par rapport au besoin. Je ne souhaite pas en supprimer quand même, car on ne sait jamais de quoi l'avenir sera fait. Je souhaite par contre regrouper en tête de liste les états qui sont utiles au fonctionnement de la gestion des commandes. Dans "Boutique / Commandes / états des commandes" j'ai bien trouvé comment créer de nouveaux états, éventuellement supprimer, ceux qui ont été créés par des modules anciens, mais je n'ai pas trouvé comment revoir l'ordre d'affichage des états. Je n'ai pas trouvé d'astuce dans le forum, quelqu'un a-t-il déjà satisfait le même besoin? Je vous remercie Link to comment Share on other sites More sharing options...
Natc77 Posted February 19, 2022 Share Posted February 19, 2022 Perso je nettoierai les statuts inutiles, mais sinon tu peux faire un "faux" ménage en les renommant, tu ajoutes par exemple "z_" devant, et comme les états sont triés par ordre alphabétique, tous les états inutiles se mettront en bas de liste. Moi je cherche pour pouvoir n'afficher que les commandes non finalisées pour nettoyer visuellement le travail à faire. Link to comment Share on other sites More sharing options...
gringo1er Posted February 19, 2022 Author Share Posted February 19, 2022 Merci pour ce retour La plupart des status non pertinents fait partie des non retirables. Donc on va les laisser. Par contre, effectivement en les renommant z_ en entête ça les plaque en fond de panier, ce qui était l'effet recherché. J'ai appliqué cette modif sur la préprod, j'attends le retour des utilisateurs du BO avant déploiement... Merci pour l'astuce, des fois les trucs les plus simples sont les plus efficaces... 1 Link to comment Share on other sites More sharing options...
Grouik Posted March 22, 2023 Share Posted March 22, 2023 Salut, Comme j'ai eu la problématique sur un Prestashop 1.6.1.17, je me suis trouvé la solution suivante qui fonctionne au poil : D'abord je me suis noté les ID de chaque statut, depuis le Back Office - Commandes - statuts Ensuite il convient d'éditer le fichier classes/order/OrderState.php et modifier la fonction : public static function getOrderStates($id_lang) Dans cette fonction il y a la requête qui affiche tous les statuts. Nous allons donc dans le WHERE lui indiquer les id des statuts que l'on souhaite afficher WHERE deleted = 0 and osl.id_order_state in (22,2,6,7,8,9,21,22,23,24,25,28,31,32,36,37,3,35,18) les chiffres entre parenthèses correspondent aux statuts qui doivent apparaitre, les autres statuts n'apparaitront pas, ils ne sont pas supprimé pour autant. Puis pour les mettre dans l'ordre précis il convient de faire à la suite du WHERE un ORDER BY comme ceci : WHERE deleted = 0 and osl.id_order_state in (22,2,6,7,8,9,21,22,23,24,25,28,31,32,36,37,3,35,18) ORDER BY CASE WHEN osl.id_order_state = 22 THEN 1 WHEN osl.id_order_state = 23 THEN 2 WHEN osl.id_order_state = 3 THEN 3 WHEN osl.id_order_state = 24 THEN 4 WHEN osl.id_order_state = 9 THEN 5 WHEN osl.id_order_state = 25 THEN 6 WHEN osl.id_order_state = 31 THEN 7 WHEN osl.id_order_state = 32 THEN 8 WHEN osl.id_order_state = 7 THEN 9 WHEN osl.id_order_state = 6 THEN 10 WHEN osl.id_order_state = 36 THEN 11 WHEN osl.id_order_state = 37 THEN 12 WHEN osl.id_order_state = 8 THEN 13 WHEN osl.id_order_state = 2 THEN 14 WHEN osl.id_order_state = 18 THEN 15 ELSE 15 END Le chiffre après le THEN correpond à l'ordre choisi. Concrètement dans mon cas de figure le statut ID 22 sera en 1ère position, le 23 en 2ème position ... 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