Comment mettre à jour les tarifs d'expédition à l'aide d'Ajax lorsque l'article du panier est supprimé sur la page Commander-Panier?


15

Mes tarifs d'expédition sont calculés sur la base de l'article présent dans le panier et maintenant lors de la suppression de l'article sur la Checkout/Cartpage, je dois mettre à jour les tarifs d'expédition. À partir de maintenant, Supprimer l'élément sur la Checkout/Cartpage met à jour la section totale mais ne rafraîchit pas les tarifs d'expédition. Il serait très utile que quelqu'un puisse me guider sur la façon de déclencher l'obtention des tarifs d'expédition une fois que l'article est supprimé du panier à l'aide d'Ajax.


avez-vous trouvé une solution à cela?
Deeps

Réponses:


1

J'espère que tu vas bien.

Veuillez essayer avec ce code JavaScript, j'espère que cela vous aidera.

define(
    [
        'Magento_Checkout/js/model/quote',
        'Magento_Checkout/js/model/shipping-rate-processor/new-address',
        'Magento_Checkout/js/model/shipping-rate-processor/customer-address',
        'Magento_Checkout/js/model/shipping-rate-registry'

    ],
    function (quote, defaultProcessor, customerAddressProcessor, rateRegistry) {
       'use strict';

       var processors = [];

       rateRegistry.set(quote.shippingAddress().getCacheKey(), null);

       processors.default =  defaultProcessor;
       processors['customer-address'] = customerAddressProcessor;

       var type = quote.shippingAddress().getType();

       if (processors[type]) {
          processors[type].getRates(quote.shippingAddress());
       } else {
          processors.default.getRates(quote.shippingAddress());
       }

    }
);

0
 requirejs([
    'Magento_Checkout/js/model/quote',
    'Magento_Checkout/js/model/shipping-rate-registry'
], function(quote, rateRegistry){


    var address = quote.shippingAddress();

    address.trigger_reload = new Date().getTime();

    rateRegistry.set(address.getKey(), null);
    rateRegistry.set(address.getCacheKey(), null);

    quote.shippingAddress(address);
});
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.