Step 1. Create your_module_name/view/frontend/requirejs-config.js
var config = {
config: {
mixins: {
‘Magento_Checkout/js/action/set-shipping-information’: {
‘/js/action/set-shipping-information-mixin’: true
}
}
}
};
Step 2. Create your_module_name/js/action/set-shipping-information-mixin.js
define([
‘jquery’,
‘mage/utils/wrapper’,
‘Magento_Checkout/js/model/quote’
], function (,ドル wrapper, quote) {
‘use strict’;
return function (setShippingInformationAction) {
return wrapper.wrap(setShippingInformationAction, function (originalAction) {
var shippingAddress = quote.shippingAddress();
if (shippingAddress[‘extension_attributes’] === undefined) {
shippingAddress[‘extension_attributes’] = {};
}
shippingAddress[‘extension_attributes’][‘custom_field’] = shippingAddress.customAttributes[‘custom_field’];
// pass functionality to original action (‘Magento_Checkout/js/action/set-shipping-information’)
return originalAction();
});
};
});
Step 3. Create your_module_name/etc/extension_attributes.xml
To access your data on backend you can use:
$value = $address->getExtensionAttributes()->getCustomField();
Rajat Mishra
- 1
- 1
default