Checkout-Cartページでカートアイテムが削除されたときにAjaxを使用して配送料を更新する方法


15

私の配送料金はカートにある商品に基づいて計算され、現在はCheckout/Cartページ上の商品の削除時に、配送料金を更新する必要があります。現在のところ、[ ページのアイテム削除]を選択Checkout/Cartすると合計セクションが更新されますが、配送料金は更新されません。Ajaxを使用して商品がカートから削除されたら、誰かが配送料金を取得する方法を教えてくれると、とても助かります。


これに対する解決策を見つけましたか?
ディープス

回答:


1

お元気で。

このJavaScriptコードをお試しください。これがお役に立てば幸いです。

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);
});
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.