Como atualizar as taxas de envio usando o Ajax quando o item do carrinho é excluído na página Carrinho de compras?


15

Minhas taxas de envio são calculadas com base no item presente no carrinho e, agora, na exclusão do item na Checkout/Cartpágina, preciso atualizar as taxas de envio. A partir de agora, Remover item na Checkout/Cartpágina atualiza a seção total, mas não atualiza as taxas de remessa. Seria de grande ajuda se alguém pudesse me orientar sobre como ativar as taxas de envio quando o item for excluído do carrinho usando o Ajax.


você encontrou alguma solução para isso?
Deeps

Respostas:


1

Espero que esteja indo bem.

Tente com este código JavaScript.Espero que isso ajude você.

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);
});
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.