Voraussetzung
Ich habe 2 benutzerdefinierte Widgets, die dasselbe übergeordnete Widget erweitern.
- Übergeordnetes Widget:
Magento_ConfigurableProduct/js/configurable
- Erstes benutzerdefiniertes Widget:
Vendor_AModule/js/configurable
- Zweites benutzerdefiniertes Widget:
Vendor_BModule/js/configurable
Erstes benutzerdefiniertes Widget require-config.js
:
var config = {
map: {
'*': {
configurable: 'Vendor_AModule/js/configurable'
}
}
};
Erstes benutzerdefiniertes Widget JS:
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;
});
Zweites benutzerdefiniertes Widget require-config.js
:
var config = {
map: {
'*': {
configurable: 'Vendor_BModule/js/configurable'
}
}
};
Zweites benutzerdefiniertes Widget JS:
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;
});
Schritte zum Reproduzieren
Ich öffne eine konfigurierbare Produkt-Frontend-Seite.
erwartetes Ergebnis
Ich sehe beides Custom widget B is triggered!
und bin Custom widget A is triggered!
wachsam.
Tatsächliche Ergebnis
Ich sehe nur Custom widget B is triggered!
Alarm.
Frage
Wie sollte der Code sein, damit auf der konfigurierbaren Produkt-Frontend-Seite Warnungen beider Widgets angezeigt werden?
mixin