ProductListingResultEvent nur verfügbar bei Nicht-Cache?

In einem Plugin benutze ich „ProductListingResultEvent“ im Subscriber. Jetzt habe ich die Entwicklungsumgebung auf produktiv umgeschalten und stelle fest, dass plötzlich „ProductListingResultEvent“ nicht mehr zur Verfügung steht. Lösche ich den Cache, wird ProductListingResultEvent einmal ausgeführt. Beim neuladen der Seite ist wieder Feierabend.

Funktioniert ProductListingResultEvent nur wenn kein Cache aktiv ist? Fragen über Fragen :frowning:

Natürlich nicht, denn die Seite liegt ja vollständig im cache. Wenn du die Seite mit kontextrelevanten Daten anreichern möchtest, die nicht Bestandteil des cache keys sind, dann wirst du dir einen anderen Weg suchen müssen.

Viele Grüße

1 „Gefällt mir“

Ah ok, bin jetzt den Umweg über GenericPageLoadedEvent gegangen.

Auch das event sollte aber nicht gefeuert werden, wenn die Seite im Cache liegt. Hier wirst du also genau das gleiche Problem haben.

Viele Grüße

Nö, das kann ich nicht behaupten. Keine Ahnung wie das Zusammenhäng, aber hier kann ich kein Caching feststellen.

Der GenericPageLoader wird auch immer innerhalb der einzelnen, expliziten PageLoader verwendet und geladen und bildet lediglich die Basis der jeweiligen Pages (header, footer etc.) - siehe: shopware/src/Storefront/Page/Product/ProductPageLoader.php at trunk · shopware/shopware · GitHub

Daher wird auch dieses event nicht geworfen, wenn die Seite im cache liegt.

Viele Grüße

Erfüllt aber im Moment im Gegensatz zu ProductListingResultEvent genau meinen Zweck. Denn dieses Event ist immer aktiv. Änderungen in der Datenerfassung und Ausgabe sind sofort sichtbar, auch bei aktiven Cache.