Jump to content

Développer un module transporteur: l'option n'apparait pas.


bourdux
 Share

Recommended Posts

Bonjour,

 

Je suis l'heureux propriétaire/développeur d'un site de e-commerce basé au Japon. J'aimerais pouvoir faire en sorte que mes clients puissent utiliser le service de livraison Kuroneko http://www.kuronekoyamato.co.jp/en/ .

 

Le problème est que Kuroneko facture la livraison, non en fonction du poids, mais en fonction de la taille de la boîte. J'ai commencé par réaliser l'algo qui calcule la taille de la boîte finale et cela fonctionne.

 

Le problème est que je n'arrive pas à savoir comment intégrer ce module. J'ai adapté l'exemple disponible à l'adresse suivante http://doc.prestasho...?pageId=4096238 comme dans le fichier joint.

 

Afin de tester le comportement le plus simple possible, j'ai mis "need_range" à 0 et j'ai défini le calcul comme suit

 

public function getOrderShippingCostExternal($params)
{
echo("helloExt");
var_dump($params);
return 300;
}

 

En gros, je voulais savoir ce qui se passe avec du code bien sale.

 

Le problème c'est que le transporteur n'apparaît pas dans la liste, même si je pense avoir bien configuré les zones (les autres transporteurs créés à partir du back-office fonctionnent parfaitement). Puisque le calcul n'utilise pas les ranges, il devrait apparaître même si je n'ai pas défini les frais par range.

 

Quelqu'un pourrait-il m'éclairer?

 

Merci d'avance!

kuroneko.php

Share this post


Link to post
Share on other sites

Après avoir bien regardé, je pense que le problème vient de la méthode getCarriersForOrder de Carrier qui ne va chercher que les transporteurs qui sont gratuits, ou sont définis par rapport au prix ou au poids. Je vais donc overrider cette classe pour ajouter une nouvelle shipping method.

 

Je répondrai à ce topic si je trouve une solution qui fonctionne, même si le code ne sera pas joli et qu'il causera des problèmes quand j'upgraderai à la 1.5 .

Share this post


Link to post
Share on other sites

Merci pour la réponse. Dans l'exemple du tutoriel, seul le hook "hookupdateCarrier" est défini, qui rentre le transporteur dans la liste affichée dans le back-office. J'ai regardé le code source des autres transporteurs et aucun à part soColissimo n'utilise le hook "extraCarrier".

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More