Wieso redirect anstatt forward?

Hallo zusammen,

ich hatte ein Ticket zu der Frage geöffnet Shopware Issuetracker das auf Not Scheduled gestellt wurde. Soweit ok, mich interessiert der Hintergrund aber dennoch. Eventuell weiß hier ja jemand mehr.

Im Checkout-Controller wird in einigen Actions redirect anstatt forward benutzt, z.B. in der changeQuantityAction, obwohl der Checkout-Controller dabei nicht verlassen wird.

Gibt es dafür eine Begründung? Konkret in der changeQuantityAction z.B. werden keinerlei zusätzliche Options gesetzt. Hat redirect ansonsten an dieser Stelle einen Vorteil? 

Viele Grüße
Malte :slight_smile:

Hallo Malte,

erstell am besten dazu einen Pull Request auf Github (GitHub - shopware/shopware: Shopware 5 Repository - For Shopware 6 visit https://github.com/shopware/platform). Ich wüsste jetzt nichts wieso es ein redirect umbedingt sein muss.

 

Werden vielleicht noch zusätzliche Daten an die Weiterleitung gehängt oder der Controller gewechselt? Ich hatte mal die selbe Frage und fand hier eine recht übersichtliche Erklärung:

https://www.shopdoktor.com/shopware-entwickler-forward-und-redirect/

@mson schrieb:

Im Checkout-Controller wird in einigen Actions redirect anstatt forward benutzt, z.B. in der changeQuantityAction, obwohl der Checkout-Controller dabei nicht verlassen wird.

Gibt es dafür eine Begründung? Konkret in der changeQuantityAction z.B. werden keinerlei zusätzliche Options gesetzt. Hat redirect ansonsten an dieser Stelle einen Vorteil? 

:smiley: aber dennoch danke für die Antwort.

Können ja trotzdem noch zusätzliche Daten angehängt worden sein :stuck_out_tongue:

Wie meinst du das?

(Man sieht das btw ganz schön im Checkout-Controller. Direkt über der changeQuantityAction ist die deleteArticleAction und die benutzt foward. Beide erhalten als einzigen Parameter die sTargetAction.)

Naja, redirect und forward sind ja im Prinzip erstmal für das selbe Ziel gedacht, nämlich eine Umleitung der aktuell aufgerufenen Seite/Aktion auf eine Andere.

Die Unterschiede sind dabei lediglich, dass forward eine Direktumleitung auf eine andere Action darstellt und redirect mehr Funktionen bietet um z.B. auch den Controller zu wechseln oder zusätzliche Variablen zu übergeben (siehe Link oben).

Ich habe die Funktion um die es geht jetzt nicht vor Augen, aber entweder wurden hier neben der neuen Action noch andere Variablen übergeben oder man hätte auch einfach ein Forward nehmen können, das tut sich dann aber nichts und könnte daher von Shopware auf „Not Sheduled“ gestellt worden sein, da es ja erstmal kein wirklicher Fehler ist.

… aber hatte doch eingangs geschrieben, dass es keine zusätzlichen Options gab xD das hatte mich jetzt verwirrt.

Aber gut, okay. Denke man kann festhalten, dass das redirect an der Stelle keinen Sinn ergibt.