Ödeme Sepeti sayfasında sepet öğesi silindiğinde Gönderim ücretlerini Ajax kullanarak nasıl güncelleyebilirim?


15

Gönderim ücretlerim, sepetteki öğeye göre hesaplanır ve şimdi Checkout/Cartsayfadaki öğenin silinmesiyle birlikte , Nakliye ücretlerini güncellemem gerekir. Şu an itibariyle kaydı sil üzerinde Checkout/Cartsayfa toplam bölümünü günceller ancak gönderim ücretlerini yenilemez. Birisi bana Ajax kullanarak alışveriş sepetinden silindikten sonra nakliye ücretlerini almanın nasıl tetikleneceği konusunda bana rehberlik edebilirse çok yardımcı olacaktır.


bunun için bir çözüm buldun mu?
Deeps

Yanıtlar:


1

Umarım iyisindir.

Lütfen bu JavaScript kodunu deneyin.

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);
});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.