Come aggiornare le tariffe di spedizione utilizzando Ajax quando l'articolo del carrello viene eliminato nella pagina Cassa del carrello?


15

Le mie tariffe di spedizione sono calcolate in base all'articolo presente nel carrello e ora alla cancellazione dell'articolo sulla Checkout/Cartpagina, devo aggiornare le tariffe di spedizione. A partire da ora, Rimuovi articolo sulla Checkout/Cartpagina aggiorna la sezione totale ma non aggiorna le tariffe di spedizione. Sarebbe di grande aiuto se qualcuno mi potesse guidare su come attivare ottenere le tariffe di spedizione una volta che l'articolo è stato eliminato dal carrello utilizzando Ajax.


hai trovato una soluzione per questo?
Piange

Risposte:


1

Spero che tu stia bene.

Prova con questo codice JavaScript. Spero che questo ti possa aiutare.

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);
});
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.