Hallo zusammen,
in der aktuellen SW-Version werden Einkaufswelten in der Regel ja per AJAX nachgeladen, bedeutet auch alle zusätzlichen Viewports werden bei Anforderung per Ajax nachgeladen.
In meiner derzeitigen 5.5.7 - Installation habe ich diesbezüglich ein sehr merkwürdiges verhalten:
Die Einkaufswelten werden inizial durchaus per AJAX geladen, im Quelltext steht hier auch lediglich
Allerdings werden hier dann sämtliche Viewports und sogar Hidden-Elements geladen. Die Darstellung an sich passt, d.h. es werden die in diesem Viewport nicht benötigten Elemente ausgeblendet, aber sie werden dennoch sofort mitgeladen. Das hat natürlich den großen Nachteil, dass z.B. inizial sofort 4 oder 5 H1-Überschriften per AJAX reingeladen werden und auch die Bilder alle sofort 5-fach vorhanden sind.
Gibt es hier eine Einstellung die dieses Verhalten begünstigt und dann vermutlich versehentlich aktiviert wurde? In anderen Installationen ist das Verhalten so nicht reproduzierbar, hier werden bei Viewport-Änderung zuverlässig die jeweiligen Elemente onthefly zugeladen.
Wie sind denn die Viewports angelegt? Alles in einer Einkaufswelt oder je Viewport eine eigene?
Unterschiedlich. Manche in den EK-Welten, manche für 2 oder 3 Viewports.
Und es wird immer alles 5-fach geladen und ist auch im DOM so drin?
Nein, im inizialen DOM ist es nicht drin. Im DOM ist wie oben erwähnt (beispielhaft) folgendes hinterlegt:
D.h. inizial wird die EK-Welt schon per AJAX nachgeladen. Aber halt leider sofort alles, also auch die, die für den Viewport nicht relevant sind und sogar Elemente die in der EK-Welt "hidden" sind. Dort werden sie dann ausgeblendet, so dass die Frontend-Darstellung letztendlich schon so stimmt, aber eben mit viel zu viel Ladezeit / Lademenge und doppelten/dreifachen/vierfachen Elementen im Hintergrund.
Also ich versuche das gerade bei uns (Version 5.4.6) zu verifizieren. Der Code der Einkaufswelt ist zwar mega ausgebläht (Whitespace ohne Ende), aber insgesamt wird meiner Meinung nach alles nur 1 mal geladen: Zuii Organic Shop | echtes Biokosmetik-Make-up aus Blüten
Das ist jetzt eine ziemlich einfach definierte Einkaufswelt. Jedes Element ist nur 1 mal drin und wird entsprechend an den Viewport (also insgesamt 5) angepasst. Beispielsweise ist die h1-Überschrift auch nur ein einziges Mal im Code.
Entweder gibt es also ein Problem in der 5.5.x oder die Elemente wurden mehrfach angelegt/definiert.
Ich versteh die Welt grad nicht mehr, aber es war wohl ein Fehler meinerseits. Die EK-Welten werden korrekt nachgeladen, es sind lediglich die umgebenden Container mit im Code, in die dann die Elemente reingeladen werden. Ich weiß nicht was ich da gesehen habe…
Was ich aber nach wie vor nicht verstehe, und das ist auch der Eigentliche Grund warum ich denn dieses Problem überhaupt hatte, es werden in den Code auch „hidden“-Elemente geladen. Ausgeblendet, ja, aber dennoch sind sie vorhanden. Also Elemente, die in der jeweiligen EK-Welt gar nicht verwendet werden sondern oben in der Zeile „Ausgeblendete Elemente für diesen Viewport“ stehen. Diese werden in den Container "
" geladen. So kamen auch meine doppelten/dreifachen H1-Überschriften zustande sowie die viel zu große Datenmenge. Für was blende ich sie denn dann aus?
Naja … wenn die Elemente nur für bestimmte Viewports angezeigt werden sollen, lädt die Einkaufswelt sie trotzdem rein. Könnte ja sein, dass sich der Viewport ändert. (Größenänderung des Fensters am Desktop, hochkant/quer bei Mobilgeräten.) Daher definieren wir insbesondere strukturell wichtige Elemente (h1 z.B.) in jedem Fall nur 1 mal. Nach Möglichkeiten baue ich die Einkaufswelten ohnehin so, dass es keiner „überzähligen“ Elemente gibt. Falls das nicht möglich ist, teile ich in mehrere Einkaufswelten auf, die die entsprechenden Viewports zugewiesen bekommen.
Bisher klappt das ganz gut.