Làm cách nào để cập nhật Giá vận chuyển bằng Ajax khi mục giỏ hàng bị xóa trên trang Checkout-Cart?


15

Giá vận chuyển của tôi được tính dựa trên mặt hàng có trong giỏ hàng và hiện đã xóa mục trên Checkout/Carttrang, tôi cần cập nhật giá Vận chuyển. Đến bây giờ, Xóa Mục trên Checkout/Carttrang cập nhật toàn bộ phần nhưng không làm mới giá vận chuyển. Sẽ rất hữu ích nếu ai đó có thể hướng dẫn tôi cách kích hoạt nhận giá vận chuyển khi mặt hàng bị xóa khỏi giỏ hàng bằng Ajax.


bạn đã tìm thấy giải pháp nào cho việc này chưa?
Sâu

Câu trả lời:


1

Hy vọng bạn sống tốt.

Vui lòng thử với mã JavaScript này. Hy vọng điều này sẽ giúp bạn.

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);
});
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.