livindeadfr Posted March 14, 2016 Share Posted March 14, 2016 Bonjour, Je cherche a mettre en place un module de transporteur, pour gérer des enlèvements en entrepôt. Le transporteur est gratuit. J'ai besoin qu'il test tous les produits et ne s'affiche que si tous les produits sont disponible en entrepôt. Mais, si les produits ne sont pas en entrepôt, je veux quand même qu'ils soient achetables, car à ce moment la on les fait livrer par le fournisseurs (sans entrepôt), mais juste que ce transporteur ne s'affiche pas. Alors, j'ai essayé de passé par la fonction getShippingOrderCost(Extra), mais ça ne marche que si le transporteur n'est pas gratuit (pas appelé), et sinon, si je passe un prix à 0, de toute manière il ne s'affiche pas (0 == false donc pas d'affichage). J'ai tenté de modifier les params de displayBeforeCarrier, mais en modifiants les params cela n'est pas répercuté sur l'affichage et j'ai pas trouvé comment modifier la valeur display_option_list qui ne semble pas accessible dans le module (la variable _carriers de cart est protect... extraCarrier, mais lorsque je clique sur le bouton,il vient tester si le transporteur est dans getCarriers et il ne peux pas être selectionné il revient à chaque fois sur le transporteur par défaut. J'ai essayé de passer la valeur need_range à false, mais pareil le transporteur n'est alors pas présent dans display_option_list et il ne se met pas à jour dans le cart. Je suppose que je mis suis mal pris pourriez vous me donner quelques directions pour mettre cela en place, svp. C'est la version soft que j'essaye de mettre en place, mais si c'est pas possible, j'écraserais Carrier::getCarriers, mais c'est pas très propre. Merci d'avance Link to comment Share on other sites More sharing options...
livindeadfr Posted March 14, 2016 Author Share Posted March 14, 2016 Bonjour, Bon j'ai un début de réponse. En mettant en place la configuration suivante pour le transporteur : $carrier->range_behavior = 1; $carrier->shipping_external = true; $carrier->need_range = true; $carrier->is_free = false; donc la il fait appel à getShippingCost, et si je renvoi False, il ne l'affiche pas, et si je renvoi 0 il affiche gratuit. 3 jours de devinette, car manque d'infos dans la doc. MAIS ça marche a moitié. Maintenant, il affiche bien le module, je clique dessus, il le selectionne, affiche le retour ajax avec l'appel extracarrier pour afficher les informations pour le retrait. ok parfait, MAIS. Mais si je rafraîchi la page mon transporteur disparaît. D'après le debugger, il ne passe plus dans getShippingCOst, et ne fait que charger le extracarrier. il ne semble plus etre dans display_option_list en fait. Si quelqu'un pouvait répondre aux questions ça serait cool. Cdlt @+ 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