# Einkaufswelten werden nicht bzw. falsch über AJAX geladen

**URL:** <https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828>\
**Category:** Allgemein\
**Created:** [29. März 2019 um 11:18 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828 "2019-03-29T11:18:22Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![HopeDiesHard](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HopeDiesHard](https://forum.shopware.com/u/HopeDiesHard)\
**Post date:** [29. März 2019 um 11:18 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828/1 "2019-03-29T11:18:22Z")

</div>

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.
```

---

<div class="post-metadata">

**Author:** ![naturdrogerie](https://avatars.discourse-cdn.com/v4/letter/n/b5ac83/32.png) [@naturdrogerie](https://forum.shopware.com/u/naturdrogerie)\
**Post date:** [29. März 2019 um 11:41 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828/2 "2019-03-29T11:41:18Z")

</div>

Wie sind denn die Viewports angelegt? Alles in einer Einkaufswelt oder je Viewport eine eigene?

---

<div class="post-metadata">

**Author:** ![HopeDiesHard](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HopeDiesHard](https://forum.shopware.com/u/HopeDiesHard)\
**Post date:** [29. März 2019 um 11:43 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828/3 "2019-03-29T11:43:20Z")

</div>

Unterschiedlich. Manche in den EK-Welten, manche für 2 oder 3 Viewports.

---

<div class="post-metadata">

**Author:** ![naturdrogerie](https://avatars.discourse-cdn.com/v4/letter/n/b5ac83/32.png) [@naturdrogerie](https://forum.shopware.com/u/naturdrogerie)\
**Post date:** [29. März 2019 um 11:44 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828/4 "2019-03-29T11:44:30Z")

</div>

Und es wird immer alles 5-fach geladen und ist auch im DOM so drin?

---

<div class="post-metadata">

**Author:** ![HopeDiesHard](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HopeDiesHard](https://forum.shopware.com/u/HopeDiesHard)\
**Post date:** [29. März 2019 um 11:52 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828/5 "2019-03-29T11:52:31Z")

</div>

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.
```

---

<div class="post-metadata">

**Author:** ![naturdrogerie](https://avatars.discourse-cdn.com/v4/letter/n/b5ac83/32.png) [@naturdrogerie](https://forum.shopware.com/u/naturdrogerie)\
**Post date:** [29. März 2019 um 12:07 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828/6 "2019-03-29T12:07:11Z")

</div>

Also ich versuche das gerade bei uns (Version 5.4.6) zu verifizieren. Der Code der Einkaufswelt ist zwar mega&nbsp;ausgebläht (Whitespace ohne Ende), aber insgesamt wird meiner Meinung nach alles nur 1 mal geladen:&nbsp;[Zuii Organic Shop | echtes Biokosmetik-Make-up aus Blüten](https://www.naturdrogerie.shop/zuii)

Das ist jetzt eine ziemlich einfach definierte Einkaufswelt. Jedes Element ist nur 1 mal drin und wird entsprechend an den Viewport (also insgesamt 5)&nbsp;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.

---

<div class="post-metadata">

**Author:** ![HopeDiesHard](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HopeDiesHard](https://forum.shopware.com/u/HopeDiesHard)\
**Post date:** [29. März 2019 um 12:34 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828/7 "2019-03-29T12:34:58Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![naturdrogerie](https://avatars.discourse-cdn.com/v4/letter/n/b5ac83/32.png) [@naturdrogerie](https://forum.shopware.com/u/naturdrogerie)\
**Post date:** [29. März 2019 um 12:40 UTC](https://forum.shopware.com/t/einkaufswelten-werden-nicht-bzw-falsch-uber-ajax-geladen/58828/8 "2019-03-29T12:40:43Z")

</div>

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.
