Checkout-Cart 페이지에서 장바구니 항목을 삭제할 때 Ajax를 사용하여 배송비를 업데이트하는 방법은 무엇입니까?


15

내 배송비는 장바구니에있는 항목을 기준으로 계산되었으며 이제 Checkout/Cart페이지에서 항목을 삭제 하면 배송비를 업데이트해야합니다. 현재로서는, 항목 제거Checkout/Cart페이지 전체 섹션을 업데이트하지만 운송 요금을 갱신하지 않습니다. Ajax를 사용하여 장바구니에서 상품이 삭제되면 배송료를 부과하는 방법을 누군가가 안내 할 수 있다면 큰 도움이 될 것입니다.


이것에 대한 해결책을 찾았습니까?
Deeps

답변:


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.