Điều kiện tiên quyết
Tôi có 2 widget tùy chỉnh mở rộng cùng widget cha.
- Tiện ích phụ huynh:
Magento_ConfigurableProduct/js/configurable
- Widget tùy chỉnh đầu tiên:
Vendor_AModule/js/configurable
- Widget tùy chỉnh thứ hai:
Vendor_BModule/js/configurable
Widget tùy chỉnh đầu tiên require-config.js
:
var config = {
map: {
'*': {
configurable: 'Vendor_AModule/js/configurable'
}
}
};
JS tùy chỉnh widget đầu tiên:
define([
'jquery',
'mage/translate',
'Magento_ConfigurableProduct/js/configurable'
], function ($) {
$.widget('vendor.configurable_awidget', $.mage.configurable, {
/**
* {@inheritDoc}
*/
_configureElement: function (element) {
this._super(element);
alert('Custom widget A is triggered!');
}
});
return $.vendor.configurable_awidget;
});
Widget tùy chỉnh thứ hai require-config.js
:
var config = {
map: {
'*': {
configurable: 'Vendor_BModule/js/configurable'
}
}
};
JS Widget tùy chỉnh thứ hai:
define([
'jquery',
'mage/translate',
'Magento_ConfigurableProduct/js/configurable'
], function ($) {
$.widget('vendor.configurable_bwidget', $.mage.configurable, {
/**
* {@inheritDoc}
*/
_configureElement: function (element) {
this._super(element);
alert('Custom widget B is triggered!');
}
});
return $.vendor.configurable_bwidget;
});
Các bước để tái sản xuất
Tôi mở một trang frontend sản phẩm cấu hình.
Kết quả mong đợi
Tôi thấy cả hai Custom widget B is triggered!
và Custom widget A is triggered!
cảnh giác.
Kết quả thực tế
Tôi chỉ thấy Custom widget B is triggered!
cảnh giác.
Câu hỏi
Làm thế nào mã phải làm cho trang frontend sản phẩm có thể cấu hình hiển thị cảnh báo của cả hai widget?
mixin