rebolon Posted November 22, 2010 Share Posted November 22, 2010 Après divers échange avec un utilisateur du module, je vais proposer une solution rapide au problème en attendant que le distributeur du module puisse publier une nouvelle version sur prestastore.Description du problème :Lors d’une commande, une fois que l’on sélectionne le point relais et que l’on clique sur suivant, prestashop ne passe pas dans le hookBackBeforePayment. La conséquence est que rien n’est inscrit en base et lors de la validation de la commande, le module ne peux retrouver ses petits.Ce problème n’apparait pas sur tous les environnements, il ne faut faire les modifications que si cela est nécessaire.Proposition de solution :Dans le fichier module.tpl du module :1) supprimer la ligne suivante (ligne 37-38) :// Positionner le champ back à extraCarrier si possible$(“input:radio#back”).value = ‘extraCarrier’ ;2) écrire la ligne suivante dans la fonction initDisplayCarrier :function initDisplayCarrier(){[…contenu de la fonction existant...]$(“input:hidden[@name=back]”).val(‘extraCarrier’) ;}De fait, prestashop va passer dans le hookBackBeforePayment une fois que vous validerez la sélection.Cordialement, Link to comment Share on other sites More sharing options...
webenov Posted November 25, 2010 Share Posted November 25, 2010 Salut! C'est Dan. Nous nous sommes eu au téléphone à propos du module que vous développé : toprelais. je viens de corriger l'erreur car même avec ces modifications cela n'était pas suffisant! je précise sur une 1.3.2 avec template à jour! Apparemment la modification proposé ne permettait toujours pas de remplir le champ caché back donc ce que j'ai fais tout simplement c'est dans le fichier toprelaiscarrier.php :En fait à la ligne 352 le script initialise la variable $_POST['back'] = 'extracarrier' ;Mais le truc c'est que dans le fichier order-carrier.tpl il y a <input type="hidden" name="back" value="{$back}" /> donc ce que j'ai fais c'est simplement mettre extracarrier dans la variable smarty back : $smarty->assign('back', $_POST['back'] ); juste après la ligne 352.Et donc là je n'ai plus aucun problème ! Que cela soit par chèque ou paypal... (vous ne m'aviez pas dit que le module ne fonctionnait pas avec payapl ?)Il ne me semble pas avoir modifié autre chose... A si mais ça c'est par gout ! Dans l'administration je ne vois pas l'intérêt de lister toutes les commandes en cours de préparation dans l'onglet BL toprelais. Pour des sites avec de nombreuses commandes une liste sans pouvoir différencier mieux que cela n'a aucun intérêt donc pour moi il vaut mieux mettre INNER JOIN plutôt que LEFT JOIN pour la jointure avec la table _orders_delivery_toprelais. Parce que toprelais n'est pas le seul transporteur à être utiliser sur une boutique. Par contre avec ma modification (ou peut-être c'était censé fonctionner comme cela de base) j'ai dans l'affichage de la commande dans le back office l'encart toprelais même si le système toprelais n'a pas été choisi. Bon il est vide mais ça ne me satisfait pas et mes clients n'ont plus je pense donc du coup j'ai aussi modifié le fichier TopRelaisTools.php en rajoutant un test sur la valeur de l'id toprelais ligne 311 après $topRelais = TopRelaisBean::getByOrderId( $orderId ) ; if($topRelais->point_relais_id>0){et bien sûr il faut fermer le test à la ligne 325 environ. Voilà. En espérant que cela pourra vous aider pour corriger votre module ou le faire évoluer... Cordialement. Dan. Link to comment Share on other sites More sharing options...
rebolon Posted November 26, 2010 Author Share Posted November 26, 2010 Merci pour l'info,pour le listing des commandes, c'était déjà fait pour la futur version. C'était un vrai oubli de ma part.pour la variable smarty, bizarrement ça ne fonctionnait pas sur mes serveurs, du coup j'avais mis les 2 solutions : le post et le smarty->assignpour paypal, on a jamais testé, c'était donc une inconnue. Tant mieux si ça fonctionne.pour l'affichage du détail de la commande, c'était encore un oubli de ma part, et c'est corrigé dans la futur version.Encore 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