Zugriff auf Haupt-Request von Widget-Controller

Ich möchte von meinem Widget-Controller aus auf einen Get-Parameter zugreifen. Sobald der Frontend-Cache aktiviert ist, komme ich aber nur noch an den Sub-Request für mein Widget. Kann mir da jemand weiterhelfen?

Hi, das ist grundsätzlich richtig. Wenn der HTTP-Cache deaktiviert ist, hast du auch im Widget-Call Zugriff auf die Get-Parameter des “Haupt”-Requests, weil Shopware das performant als Subrequest handelt. Sobald der Http-Cache aktiviert ist, geht das natürlich nicht mehr, weil der Cache das Widget in einem “echten” Request nachlädt. Möglichkeit: Da, wo du das Widget einbindest, übergibst du den gewünschten Wert des “Haupt”-Requests als zusätzlichen Parameter in der Form: {action controller=MyController module=Widget myParameter=theParamYouNeed} Das ist der kompatible Weg. Besten Gruß, Daniel

Hallo Daniel, der GET-Parameter ist dort wo ich das Widget einbaue ja gar nicht verfügbar. Wenn ich mich noch an den Controller dran hänge und den Parameter übergebe, wird dieser doch auch gecached oder? Gruß Dirk

Hi, ja, ist richtig. Aber es wird ja je GET-URL gespeichert, d.h. du hast dann quasi eine Cache-Seite je GET-Parameter, bspw. http://mein-shop.de/frontend/detail/index?variable=2 http://mein-shop.de/frontend/detail/index?variable=3 http://mein-shop.de/frontend/detail/index?variable=4 Sind jeweils eigene Cache-Files, so dass du beim ersten Life-Request auf dem Get-Parameter arbeiten kannst, das Ergebnis dann gecacht wird und der nächste Kunde mit der selben URL das entsprechende Ergebnis bekommt. Besten Gruß, Daniel

2 „Gefällt mir“

Alles klar, vielen Dank!