J'ai vu quelques posts au sujet du module so colissimo , mais aucun qui ne parle de certains travers du module , tel qu'il est (généreusement au demeurant) fourni par la prestateam .
Certains y ont ajouté des champs , des bricoles, mais personne ne semble gèné par son fonctionnement en production , à savoir par exemple le fait que quelque soit l'adresse de livraison choisie , c'est celle du client qui apparait dans la facture, ou sur le BL.
Dans le code du module , pourtant , ceci est prévu , dans le hook neworder, et fonctionne d'ailleurs je pense sur la 1.0.
Malheureusement, la 2eme ligne de code de cette fonction est bugguée (bug introduit dans la version 1.1) :
if ($params['objOrder']->module != $this->name)
return;
Dans le hook neworder, l'objet order envoyé par la classe est 'order' et non 'objOrder' (utilisé lui dans le hook orderconfirmation).
Du coup , bien sûr , le return est exécuté à tous les coups et le code créant l'adresse en relais ou à la poste ..., lui , jamais.
Si l'on corrige ceci , par $params['order']->module ... alors le test n'est jamais vérifié. Donc la suite jamais exécutée non plus.
J'ai supprimé ce test sur mes versions en production, mais franchement sans savoir exactement à quoi il était censé servir:
$params['order']->module retourne le nom du module de paiement choisi, alors que $this->name retourne le nom du module so colissimo.
D'ou mon post.
Si la prestateam veut bien nous éclairer.
Merci :)



Back to top












