seit des Updates auf 5.2.18 werden die verschiedenen Artikelvarianten nicht mehr korrekt abgerufen.
Sie sind auf der Artikelseite zwar sichtbar, jedoch wenn man Beispielsweise von 100ml auf 250ml wechseln möchte bleibt die Seite im „Ladebildschirm“ hängen.
In der Browserkonsole steht folgender Fehler (Google Chrome):
Uncaught TypeError: Cannot read property 'currentArticle' of null
at Plugin.onAjaxVariantChange (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:530)
at Object.f (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:2)
at Object.dispatch (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:2)
at Object.r.handle (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:2)
at Object.trigger (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:2)
at Object. (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:2)
at Function.each (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:2)
at n.fn.init.each (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:2)
at n.fn.init.trigger (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:2)
at Function.$.publish (1487754980_1e0b4a2de547eb16730a38efc0b08474.js:235)
Hatte das Problem auch und kam zu folgender Lösung:
Das Problem liegt in der jquer.ajax-variant.js, hier werden in Zeile 138 alle Objekte auf 0 gesetzt. Danach werden die Javascript neu geladen mit dem HTML des Response.
Hierbei wird in der nächsten Zeile (139) der footerJavascriptInlineSelector genommen. Dieser zeigt auf #footer–js-inline, diese Id wurde in der Version 5.2.13 hinzugefügt in der Datei: themes/Frontend/Bare/frontend/index/index.tpl Zeile:151
Da wir unter der Version 5.2.13 waren, als das Template wurde. Hatten wir die Id nicht im scripttag . Ich gehe schwer davon aus das mehrere Leute das gleiche Problem haben sobald die index.tpl überschrieben wurde.
Hier noch der Link zum Commit der die Änderungen eingebracht hat:
Haben aktuell das selbe Problem auf unserer Test-Umgebung nach einem Shopware Update von 5.4.6 auf 5.5.3.
Nach Variantenauswahl folgender Fehler in der Console:
1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:11565
Uncaught TypeError: Cannot read property 'currentArticle' of null
at Plugin.onAjaxVariantChange (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:11565)
at Object.i (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:4439)
at Object.dispatch (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:2297)
at Object.y.handle (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:2228)
at Object.trigger (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:3612)
at Object. (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:3637)
at Function.each (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:436)
at w.fn.init.each (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:367)
at w.fn.init.trigger (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:3636)
at Function.$.publish (1542359700_7a51af2f9cfe47f74dffb24997713b69.js:formatted:7432)
Mit Referenz zu folgender Code-Zeile in der Zeile 3 “currentArticle” den Fehler wirft, da “null”
1 onAjaxVariantChange: function() {
2 var me = this;
3 me.collectProduct(window.lastSeenProductsConfig.currentArticle);
4 me.clearProductList();
5 me.createProductList();
6 },
Beide vorhergegangenen Lösungsansätze wurde geprüft, ohne Erfolg. Skript-Tag mit ID ist gesetzt, Div ebenfalls.
Gibt es hierzu neue Ansätze? Wie kann hier besser gedebugged werden?
Haben übergangsweise den Variantenwechsel per Ajax in den Theme-Einstellungen deaktiviert. Damit funktioniert es zwar, aber das kann nicht die Lösung sein.
selbses problem und kurioserweise nur im subshop, egal welches theme. im standard, bei unserem bisherigen davon abgeleitetes und im neuen theme gehts nicht.
verweis auf folgenden code:
/**
* Refresh the last seen article if the customer switches between variants
*
* @private
* @method onAjaxVariantChange
*/
onAjaxVariantChange: function() {
var me = this;
me.collectProduct(window.lastSeenProductsConfig.currentArticle);
me.clearProductList();
me.createProductList();
},
EDIT:
ich habs:
unter Grundeinstellungen->Artikelverlauf das für den entsprechenden Subshop deaktiviert.
Kurioserweise geht es jetzt UND die zuletzt angesehenen Artikel werden angezeigt.