Arnaud Laborde Posted March 9, 2021 Share Posted March 9, 2021 Bonjour, J'ai une boutique avec trois modes de paiement différents (cb, paypal et cash on delivery). Sauf que pour le paiement à l'enlèvement de la commande, son statut va directement être défini sur "en cours de préparation" or la commande doit être validée par les équipes avant. J'aimerais donc savoir où je peux modifier le statut par défaut après une commande avec cette option de paiement. J'ai cherché dans la bdd, mais je n’ai rien trouvé qui comporte ces informations. Link to comment Share on other sites More sharing options...
Eolia Posted March 9, 2021 Share Posted March 9, 2021 Regardez plutôt dans le php du module, si cette option n'est pas configurable en BO. Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted March 9, 2021 Author Share Posted March 9, 2021 (edited) J'ai également regardé, mais je ne vois pas trop ou ça se trouve. Si quelqu'un peut m'orienter. Merci Edited March 9, 2021 by Arnaud Laborde (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted March 9, 2021 Share Posted March 9, 2021 Aucune idée de la version que vous utilisez, mettez le fichier ici, ça sera plus simple^^ Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted March 9, 2021 Author Share Posted March 9, 2021 ps_cashondelivery.zip Link to comment Share on other sites More sharing options...
Eolia Posted March 10, 2021 Share Posted March 10, 2021 ligne 57 de validation.php $this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key); remplacez 'PS_OS_PREPARATION' par le statut désiré: PS_OS_CHEQUE (1) PS_OS_PAYMENT (2) PS_OS_PREPARATION (3) PS_OS_SHIPPING (4) PS_OS_DELIVERED (5) PS_OS_CANCELED (6) PS_OS_REFUND (7) PS_OS_ERROR (8) PS_OS_OUTOFSTOCK (9) PS_OS_BANKWIRE (10) PS_OS_WS_PAYMENT (11) PS_OS_OUTOFSTOCK_PAID (9) PS_OS_OUTOFSTOCK_UNPAID (12) PS_OS_COD_VALIDATION (13) Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted March 10, 2021 Author Share Posted March 10, 2021 (edited) Merci je suis trop con je chercher un endroit pour set ps_os_preparation Si je crée des états de commandes personnalisé, comment/où je peux connaitre leur nom ? Edited March 10, 2021 by Arnaud Laborde (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted November 6, 2021 Share Posted November 6, 2021 Leur nom est dans ps_order_state_lang mais n'existe pas dans la table configuration. Vous devez l'ajouter en lui créant une valeur spécifique qui pourra être utilisée dans le module. Exemple: Vous voulez utiliser l'élément 19 ou 18, ajoutez leur valeur dans ps_configurationINSERT INTO `ps_configuration` (`id_shop_group`, `id_shop`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, NULL, 'CUSTOM_OS_STATE_1', '18', '', ''); INSERT INTO `ps_configuration` (`id_shop_group`, `id_shop`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, NULL, 'CUSTOM_OS_STATE_1', '18', '', ''), (NULL, NULL, 'CUSTOM_OS_STATE_2', '19', '', ''); Maintenant, dans le code du module Configuration::get('CUSTOM_OS_STATE_1') Renverra bien l'id_order_state 18 Link to comment Share on other sites More sharing options...
Steph13 Posted November 7, 2021 Share Posted November 7, 2021 Merci Eolia pour votre réponse. Ce sont des choses que je n'ai jamais fait j'ai besoin d'un ptit coup de pouce supplémentaire : Quote Vous devez l'ajouter en lui créant une valeur spécifique qui pourra être utilisée dans le module. Ça c'est bon je l'ai crée via le PA de mon Presta, et dans la liste c'est le dernier, il apparait sous le numéro 29 en id_order_state Quote Maintenant, dans le code du module Configuration::get('CUSTOM_OS_STATE_1') Ça aussi c'est bon j'ai trouvé la commande (normalement 🙃) elle est dans le fichier ps_cashondelivery\ps_cashondelivery.php Quote ajoutez leur valeur dans ps_configurationINSERT INTO C'est ça que je n'ai pas compris, il faut rajouter cette valeur dans la table ps_configuration c'est ça ? Quand je clique sur Insérer j'ai des champs à remplir qui s'ouvrent (voir capture jointe) c’est là ? Link to comment Share on other sites More sharing options...
Steph13 Posted November 7, 2021 Share Posted November 7, 2021 Sinon j'ai cliqué au pif sur SQL en haut dans le menu, j'ai vu qu'on pouvait entrer du code du coup j'ai copié coller votre code et j'ai une erreur qui sort. Après je préfère attendre votre retour je veux pas trop trifouiller la BDD surtout que j'y connais absolument rien... Merci Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted November 7, 2021 Author Share Posted November 7, 2021 Il manque un ';' pour terminer la requête. Link to comment Share on other sites More sharing options...
Steph13 Posted November 7, 2021 Share Posted November 7, 2021 (edited) 34 minutes ago, Arnaud Laborde said: Il manque un ';' pour terminer la requête. D'accord merci, j'avais finalement enlevé la ',' après la ")" et c'était aussi passé ^^ Par contre quand je passe une commande avec le mode de livraison Cash on delivery ça se met toujours en "En cours de préparation" rien n'a changé... J'ai bien modifié ma page .php comme indiqué. Du coup y'a un truc qui me chiffonne. Les commandes pour Cash On Delivery sont toujours toutes passées avec "En cours de préparation" dans le BO. Une chose que j'ai remarqué tout à l'heure en ouvrant pour la 1ère fois mon fichier ps_cashondelivery.php : avant de modifier quoi que ce soit dedans, juste pour rechercher le "configuration::get" j'avais ça en code : (!Configuration::get('PS_OS_PAYMENT') En voyant la ligne du dessus où tous les statuts sont énumérés il me semble reconnaitre que le code pour en cours de préparation c'est plutôt' PS_OS_PREPARATION'. Donc j'avais des commandes qui passaient en "En cours de prépa" avec une page .php qui indiquait "(!Configuration::get('PS_OS_PAYMENT')" Jme demande si y'a pas qqch ailleurs? EDIT : Je remarque que dans ma page .php, la partie du code ou j'ai modifié le ::get y'a un com juste au dessus qui dit : Quote /* For 1.4.3 and less compatibility */ Moi je suis en version 1.7.6.1. Edited November 7, 2021 by Steph13 Ajout d'infos (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted November 7, 2021 Share Posted November 7, 2021 (!Configuration::get('PS_OS_PAYMENT') Ca, ça veut dire DIFFÉRENT de Configuration::get('PS_OS_PAYMENT') Avez-vous bien mis votre nouvel état de commande à cet endroit ? $this->module->validateOrder((int)$this->context->cart->id, Configuration::get('CUSTOM_OS_STATE_1'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key); Link to comment Share on other sites More sharing options...
Steph13 Posted November 7, 2021 Share Posted November 7, 2021 (edited) Ah d'accord 🤦♀️ Je vous screen là ou j'ai placé le CUSTOM OS STATE Je n'ai pas le même code que vous, ce qui précède par exemple je ne l'ai pas. Je vous mets également le code de la page en quote. En tout cas j'ai cherché avec plusieurs mots clefs "Configuration::get", tous les "OS" etc... il n'y en a qu'à cet endroit. Je voulais coller le code entier le message est hidden ça ne passe pas Edited November 7, 2021 by Steph13 (see edit history) Link to comment Share on other sites More sharing options...
Steph13 Posted November 7, 2021 Share Posted November 7, 2021 (edited) Apparemment je dois attendre que des modos valident mes messages. C'est bon j'ai trouvé le problème, je m'étais tompée de fichier .php. Ce n'est pas dans ps_cashondelivery\ps_cashondelivery.php mais ps_cashondelivery\controllers\front\validation.php. J'ai testé ça marche 😃 c'est donc résolu pour moi. Merci bcp Eolia 🌺 Edited November 7, 2021 by Steph13 (see edit history) 1 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