THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,
n'ayant pas de compte chrono,
j'ai dupliqué le module colissimo et me met petit à petit au php, avec l'aide du forum.
Dans chrono.php, à la racine du module, j'ai écrit le code suivant pour les petites subtilités de chez chronopost, qui fonctionne.

J'ai juste un souci, c'est que la récupération des prix dans cart.html ne se fait pas pour ce module, donc il y a quelque chose que j'ai mal écrit ou pas écrit !

Merci pour votre aide

public function getPostage(Country $country)
    {          
 // pour la corse
            $dpt = substr($cp,0,2);
        if (null !== $deliveryAddress = AddressQuery::create()->findPk(
            $this->getRequest()->getSession()->getOrder()->getChoosenDeliveryAddress()
        )) {
            $country_id = $deliveryAddress->getCountryId();
            $codePostal = $deliveryAddress->getZipcode();
            $dpt = substr($codePostal,0,2);
            if ($country_id === 64 && $dpt === "20")     {
        $cartWeight = $this->getRequest()->getSession()->getSessionCart($this->getDispatcher())->getWeight();

        $postage = self::getPostageAmount(
            $this->getAreaForCountry($country)->getId(),
            $cartWeight
        );

        return $postage = $postage+24.6;} 

            // supp zone de montagne et littoral

            if ($codePostal == "04110" || $codePostal == "04140" || etc )
            
             {
        $cartWeight = $this->getRequest()->getSession()->getSessionCart($this->getDispatcher())->getWeight();

        $postage = self::getPostageAmount(
            $this->getAreaForCountry($country)->getId(),
            $cartWeight
        );

        return $postage = $postage+5;}

        
        
        // cas classiques
        $cartWeight = $this->getRequest()->getSession()->getSessionCart($this->getDispatcher())->getWeight();

        $postage = self::getPostageAmount(
            $this->getAreaForCountry($country)->getId(),
            $cartWeight
        );

        return $postage;}


    }

Offline


Pour que le tarif de ton module s'affiche dans le panier, il faut que 1) ton module soit associé à la zone de livraison du pays de livraison courant, et à la zone de livraison du pays par défaut de la boutique, et 2) qu'il retourne le prix de livraison le plus bas.


OpenStudio Toulouse