¿Cómo actualizar las tarifas de envío usando Ajax cuando el artículo del carrito se elimina en la página Pagar y comprar?


15

Mis tarifas de envío se calculan en función del artículo presente en el carrito y ahora, al eliminar el artículo en la Checkout/Cartpágina, necesito actualizar las tarifas de envío. A partir de ahora, Eliminar artículo en la Checkout/Cartpágina actualiza la sección total pero no actualiza las tarifas de envío. Sería de gran ayuda si alguien puede guiarme sobre cómo activar las tarifas de envío una vez que el artículo se elimina del carrito con Ajax.


¿Encontraste alguna solución para esto?
Profundiza

Respuestas:


1

Espero que estés bien.

Intente con este código JavaScript. Espero que esto lo ayude.

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);
});
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.