# AjaxListing Erweiterung vom Template

**URL:** <https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572>\
**Category:** Programmierung\
**Created:** [29. September 2017 um 14:44 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572 "2017-09-29T14:44:56Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![DannyDan](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@DannyDan](https://forum.shopware.com/u/DannyDan)\
**Post date:** [29. September 2017 um 14:44 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/1 "2017-09-29T14:44:56Z")

</div>

Moin moin,

ich steh grad total auf dem Schlauch und hoffe auf einen hilfreichen Tipp.  
Und zwar geht es um das Shopware Jira Ticket unter der URL [Shopware Issuetracker](https://issues.shopware.com/issues/SW-19844).  
**Ticket: SW-19844 | keine Produktboxerweiterungen mehr beim AjaxListing, auch nicht mit predispatch**  
Dort wird als Kommentar angemerkt, dass beim AjaxListing kein extendsTemplate mehr funktioniert und man die Templates im Predispatch hinzufügen soll. Habe mein Plugin soweit umgebaut wie im „Shopware-5-plugin-update-guide“ unter „Extending listing templates“ beschrieben und klappt auch soweit.

Jetzt meine Frage dazu bzw. der Part den ich nicht verstehe: Wie kann ich denn im Predispatch auf die View-Daten zugreifen? Ich benötige die Artikel aus dem Listing und habe ja gar keine Möglichkeit auf diese im Predispatch zuzugreifen?!?

Daniel

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [29. September 2017 um 15:16 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/2 "2017-09-29T15:16:35Z")

</div>

Du musst das pre dispatch event nur verwenden, um dein Template Verzeichnis zu registrieren, da das listing direkt via smarty-\>fetch() geladen wird:&nbsp;[shopware/Listing.php at 5.3 · shopware/shopware · GitHub](https://github.com/shopware/shopware/blob/5.3/engine/Shopware/Controllers/Widgets/Listing.php#L540)

Was hast du denn vor?!

Viele Grüße

---

<div class="post-metadata">

**Author:** ![DannyDan](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@DannyDan](https://forum.shopware.com/u/DannyDan)\
**Post date:** [29. September 2017 um 16:02 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/3 "2017-09-29T16:02:00Z")

</div>

> [@Aquatuning GmbH schrieb:](https://forum.shopware.com/profile/11752/Aquatuning%20GmbH "Aquatuning%20GmbH")

> Was hast du denn vor?!

Ich möchte die Produkte mit einem Button ausstatten im listing inkl. infinite scrolling.

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [29. September 2017 um 16:07 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/4 "2017-09-29T16:07:02Z")

</div>

Naja, das “pre” wird ja aufgerufen, eher der eigentliche Controller aufgerufen wird, somit exisitiert im “preDispatch” auch noch keine Liste der Artikel, weil diese ja erst im Controller erzeugt wird,&nbsp;pre ist aber davor. Wenn Du also diese Liste haben möchtest, wäre wohl eher der&nbsp;“postDisptach” Dein Freund. Dort kannst Du Dir aus Smarty das Array zurückholen und weiter verarbeiten - da hast Du&nbsp;dann ja die Liste.

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [29. September 2017 um 16:09 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/5 "2017-09-29T16:09:05Z")

</div>

Wo ist dann das Problem?! Erweitere die frontend/listing/listing\_ajax.tpl um deinen Button und verwende das widget listing pre dispatch event, um dein Verzeichnis bekannt zu geben. Fertig.

@sonic: das stimmt für dieses Fall nicht.

Viele Grüße

---

<div class="post-metadata">

**Author:** ![DannyDan](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@DannyDan](https://forum.shopware.com/u/DannyDan)\
**Post date:** [29. September 2017 um 16:10 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/6 "2017-09-29T16:10:55Z")

</div>

Hey sonic,

genau, aber für das „infinite scrolling“ kann man ab der 5.3.3 das Template nur noch per preDispatch zufügen.

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [29. September 2017 um 16:15 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/7 "2017-09-29T16:15:40Z")

</div>

Schön, das SW so konsistent ist…  
Da ich selber da was machen wollte, bin ich auch grad wieder auf NULL:  
Wenn ich nicht im Template etwas mit der Liste machen will, sondern ggf. noch weitere DB-Abfragen machen möchte, hab ich die Daten theoretisch schon im preDisptach?  
Da bin ich aber froh, dass ich mein kleines neues Projekt noch nicht angefangen habe&nbsp; ![Wink](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/b3785da0cbf2c8566cb535dcf55b2730b5224899.png "Wink")

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [29. September 2017 um 16:17 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/8 "2017-09-29T16:17:05Z")

</div>

Falls ihr die Artikel mit weiteren Daten füttern wollt, dann müsst ihr weiter oben anfangen und den list product service dekorieren. Hier geht es nur darum, wann man das Template Verzeichnis registrieren muss - und in diesem Fall im pre dispatch. Warum?! Siehe oben mein Link auf github.

Viele Grüße

---

<div class="post-metadata">

**Author:** ![DannyDan](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@DannyDan](https://forum.shopware.com/u/DannyDan)\
**Post date:** [29. September 2017 um 16:19 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/9 "2017-09-29T16:19:26Z")

</div>

> [@Aquatuning GmbH schrieb:](https://forum.shopware.com/profile/11752/Aquatuning%20GmbH "Aquatuning%20GmbH")
> 
> Wo ist dann das Problem?! Erweitere die frontend/listing/listing\_ajax.tpl um deinen Button und verwende das widget listing pre dispatch event, um dein Verzeichnis bekannt zu geben. Fertig.
> 
> @sonic: das stimmt für dieses Fall nicht.
> 
> Viele Grüße

Das mache ich ja bereits. Das Problem dabei ist, dass ich im PostDispach Variablen setze was aber zu spät ist und diese nicht im Template ankommen.

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [29. September 2017 um 16:27 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/10 "2017-09-29T16:27:21Z")

</div>

Siehe&nbsp;[https://forum.shopware.com/discussion/comment/205592/#Comment\_205592](https://forum.shopware.com/discussion/comment/205592/#Comment_205592)

Viele Grüße

---

<div class="post-metadata">

**Author:** ![DannyDan](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@DannyDan](https://forum.shopware.com/u/DannyDan)\
**Post date:** [29. September 2017 um 16:51 UTC](https://forum.shopware.com/t/ajaxlisting-erweiterung-vom-template/48572/11 "2017-09-29T16:51:48Z")

</div>

> [@Aquatuning GmbH schrieb:](https://forum.shopware.com/profile/11752/Aquatuning%20GmbH "Aquatuning%20GmbH")
> 
> Siehe&nbsp;[https://forum.shopware.com/discussion/comment/205592/#Comment\_205592](https://forum.shopware.com/discussion/comment/205592/#Comment_205592)
> 
> Viele Grüße

OK. Dann werde ich mir das einmal genauer anscheun. Besten Dank schonmal!
