# Einkaufswelt HTML Reihenfolge der Elemente

**URL:** <https://forum.shopware.com/t/einkaufswelt-html-reihenfolge-der-elemente/58109>\
**Category:** Administration\
**Created:** [18. Februar 2019 um 14:57 UTC](https://forum.shopware.com/t/einkaufswelt-html-reihenfolge-der-elemente/58109 "2019-02-18T14:57:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)\
**Post date:** [18. Februar 2019 um 14:57 UTC](https://forum.shopware.com/t/einkaufswelt-html-reihenfolge-der-elemente/58109/1 "2019-02-18T14:57:50Z")

</div>

Ich habe heute bemerkt, dass bei den Einkaufswelten die Elemente absteigend der ID im Template gerendert werden und nicht anhand Ihrer Position. Das Bedeutet, dass ein Element, welches ganz neu in die Einkaufswelt eingefügt wurde nun ganz unten im DOM steht, aber ganz oben in der EK positioniert sein kann. Das Führt nun dazu, dass der Browser (in meinem Fall Chrome und Firefox) nun das erste Bannerelement das Bild lädt/rendered, dann den rest und ganz zum schluss das zweite Bild ganz oben links (was neu hinzugefügt wurde). Kann man da was machen?

Merkwürdig, laut Gateway müsste er es anders sortieren

```
// EmotionElementGateway.php

        $builder->addOrderBy('emotionElement.start_row', 'ASC')
                ->addOrderBy('emotionElement.start_col', 'ASC');

```

Ah ok, start\_row und start\_col sind irrelevant für Responsive layout. Mhh, wie dekorier ich jetzt den service am Besten, damit er auch den Responsive Layout die Elemente richtig sortiert? Beim responsive layouts kommen die infos für start\_col und start\_row nicht aus der s\_emotion\_element sondern aus der s\_emotion\_element\_viewports tabelle. Die scheint beim query builder aber nicht gejoined zu sein (?). Die Methode ist auch noch private, dekorieren wird da schwer

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [18. Februar 2019 um 17:17 UTC](https://forum.shopware.com/t/einkaufswelt-html-reihenfolge-der-elemente/58109/2 "2019-02-18T17:17:03Z")

</div>

Hallo,

das kommt auch darauf an, welchen Einkaufswelten - Modi du nutzt, siehe:&nbsp;[https://forum.shopware.com/discussion/55065/seo-einkaufswelten-reihenfolge-der-ausgabe-der-einkaufswelten-elemente-im-code-fuer-seo-sinnvoll](https://forum.shopware.com/discussion/55065/seo-einkaufswelten-reihenfolge-der-ausgabe-der-einkaufswelten-elemente-im-code-fuer-seo-sinnvoll)&nbsp;.

Grüße&nbsp;

Sebastian

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [18. Februar 2019 um 18:37 UTC](https://forum.shopware.com/t/einkaufswelt-html-reihenfolge-der-elemente/58109/3 "2019-02-18T18:37:34Z")

</div>

Was im ElementGateway getan ist völlig egal. Das wirkliche Sorting passiert im JavaScript

---

<div class="post-metadata">

**Author:** ![langnickel](https://avatars.discourse-cdn.com/v4/letter/l/3ec8ea/32.png) [@langnickel](https://forum.shopware.com/u/langnickel)\
**Post date:** [19. Februar 2019 um 08:01 UTC](https://forum.shopware.com/t/einkaufswelt-html-reihenfolge-der-elemente/58109/4 "2019-02-19T08:01:15Z")

</div>

> [@sschreier schrieb:](https://forum.shopware.com/profile/18157/sschreier "sschreier")
> 
> Hallo,
> 
> das kommt auch darauf an, welchen Einkaufswelten - Modi du nutzt, siehe:&nbsp;[https://forum.shopware.com/discussion/55065/seo-einkaufswelten-reihenfolge-der-ausgabe-der-einkaufswelten-elemente-im-code-fuer-seo-sinnvoll](https://forum.shopware.com/discussion/55065/seo-einkaufswelten-reihenfolge-der-ausgabe-der-einkaufswelten-elemente-im-code-fuer-seo-sinnvoll)&nbsp;.
> 
> Grüße&nbsp;
> 
> Sebastian

Ja den Beitrag hatte ich auch gefunden, und im Responsive Modus ist es nun so, dass bei vielen Banner-Elementen in einer Einkaufswelt, die neusten ganz unten im DOM landen, was dazu führt, dass der Browser die Bilder zuletzt anfordert, unabhängig Ihrer tatsächlichen Position. Das führt bei mir nun zu einem 1-2 Sekunden weißen Fleck oben rechts. Ich schau mir mal an was @Shyim meinte. Wenn die Elemente per JS positioniert werden, ist zwar gut, der Browser läd trotzdem währendessen die Bilder nach Reihenfolge im DOM, afaik. Sprich ich müsste die Elemente bevor Sie im DOM landen und von jQuery positioniert werden richtig in die richtige Reihenfolge im DOM bringen, damit der Browser die Bilder in der Reihenfolge anfrägt die ich gerne hätte. In meiner jetzigen Situation läd er ein Bild, das Above The Fold ist leider ganz zum Schluss, da es das neuste Element in der EKW ist.
