syto Posted May 5, 2015 Share Posted May 5, 2015 Bonjour, Après plusieurs recherches, plusieurs tests (dans OrderHistory.php), je me tourne vers vous ! Ma demande : Je souhaite exécuter un script PHP (envoi des infos utilisateurs vers une autre table) au moment du changement de statut de la commande. Dès que je passe ma commande en "paiement accepté" (via le select du backOffice), je souhaite récupèrer les infos utilisateurs de cette commande et je lance un script php. Pouvez-vous m'indiquer a quel endroit je dois mettre ma condition (si statut = "paiement accepté" alors exécution du script). Merci d'avance. Link to comment Share on other sites More sharing options...
Mediacom87 Posted May 5, 2015 Share Posted May 5, 2015 Bonjour, le plus simple est de faire un module que vous greffez au bon hook (sorry je ne l'ai pas en tête) et de tester donc dans ce hook l'id de statut de commande pour faire vos traitements. Link to comment Share on other sites More sharing options...
herve25 Posted May 6, 2015 Share Posted May 6, 2015 Bonjour, C'est le hook actionOrderStatusUpdate qu'il faut utiliser :-) Voici les informations qui sont envoyées dans la classe OrderHistory Hook::exec('actionOrderStatusUpdate', array('newOrderStatus' => $new_os, 'id_order' => (int)$order->id), null, false, true, false, $order->id_shop); Link to comment Share on other sites More sharing options...
syto Posted May 6, 2015 Author Share Posted May 6, 2015 Merci pour votre réactivité. Donc je vois bien ou est utilisé ce hook actionOrderStatusUpdate > dans la function changeIdOrderState. // executes hook Hook::exec('actionOrderStatusUpdate', array( 'newOrderStatus' => $new_os, 'id_order' => (int)$order->id )); A quel endroit je vérifie que mon statut (id_order_state) est egal à 2 ? merci Link to comment Share on other sites More sharing options...
Eolia Posted May 6, 2015 Share Posted May 6, 2015 utilisez quelque chose comme ça: if(in_array($new_order_state, array(Configuration::get('PS_OS_WS_PAYMENT'), Configuration::get('PS_OS_PAYMENT')))) { .... traitement.... } Link to comment Share on other sites More sharing options...
syto Posted May 6, 2015 Author Share Posted May 6, 2015 Merci, J'insers donc ce code juste apres le Hook:exec ??? Link to comment Share on other sites More sharing options...
herve25 Posted May 6, 2015 Share Posted May 6, 2015 Bonjour, Non il faut que tu greffes ton module sur ce hook. Et tu réalise le traitement particulier dans ton module. Link to comment Share on other sites More sharing options...
syto Posted May 6, 2015 Author Share Posted May 6, 2015 Ahhh, Je suis obligé de créer un module pour faire cela ? Je n'ai jamais créé de module Il n'y a pas un moyen plus "barbare" de le faire ? Au moment de la mise à jour du statut, il vérifie si c'est "paiement accepté"... Si c'est le cas, script php ! merci encore pour vos retours Link to comment Share on other sites More sharing options...
herve25 Posted May 6, 2015 Share Posted May 6, 2015 C'est tout à fait possible de le faire à la barbare, Pour ça tu peux te baser sur le script qu'Eolia t'a donné plus haut, et le mettre après l'éxécution du hook dans un override de la classe OrderHistory Mais autant essayer de le faire proprement, ça ne prends pas forcément plus de temps et ça facilitera les évolutions et les mise à jour de ton site. 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