Wir haben sporadisch das folgende Problem, wenn wir an / checkout / cart / sind. Das Klicken auf "Zur Kasse gehen" funktioniert daher nicht.
Wir glauben, dass das Verfahren nicht funktioniert, da der folgende Javascript-Fehler protokolliert wird:
Das Problem war auf zwei Computern auch nach dem erneuten Laden der gesamten Seite reproduzierbar. Aber jetzt geht es nicht mehr.
Ich habe mir den Code in Zeile 90 angesehen
getFromServer: function (sectionNames, forceNewSectionTimestamp) {
var parameters;
sectionNames = sectionConfig.filterClientSideSections(sectionNames);
parameters = _.isArray(sectionNames) ? {
sections: sectionNames.join(',')
} : [];
parameters['force_new_section_timestamp'] = forceNewSectionTimestamp;
/** Line 90 **/ return $.getJSON(options.sectionLoadUrl, parameters).fail(function (jqXHR) {
throw new Error(jqXHR);
});
}
};
Offensichtlich werden die Optionen nicht irgendwie geladen - aber sie befinden sich im Konstruktor. Wie kann das sein?
Gerne für jede Hilfe.
BEARBEITEN
Ich habe das Problem auf ein Modul zurückgeführt, in dem wir mit Kundendaten interagieren.
Wir haben den folgenden Code:
define([
'jquery',
'Magento_Customer/js/model/authentication-popup',
'Magento_Customer/js/customer-data'
], function ($, authenticationPopup, customerData) {
customerData.reload(['minvalue'],true).done(function(){
In einigen Fällen scheint dieser Code vor dem Konstruktor aufgerufen zu werden
vendor/magento/module-customer/view/frontend/web/js/customer-data.js:366
'Magento_Customer/js/customer-data': function (settings) {
options = settings;
invalidateCacheBySessionTimeOut(settings);
invalidateCacheByCloseCookieSession();
customerData.init();
}
Frage: Wie kann ich die Ausführung meines Codes erzwingen, nachdem der Konstruktor ausgeführt wurde?