forward() und redirect() sind Funktionen mit denen Weiterleitungen in Plugins realisiert werden können. Dabei wird forward() für Weiterleitungen im selben Controller verwendet und redirect() für Weiterleitungen zu anderen Controllern.
Weiterleitung: forward()
Mit dem nachfolgenden Code wird innerhalb des Checkout Controllers zur Aktion „shippingPayment“ weitergeleitet.
$indexController->forward('shippingPayment');
Weiterleitung: redirect()
Für komplexere Weiterleitungen wird die redirect-Funktion verwendet. Dabei können noch weitere Werte mitgegeben werden. Im folgenden Code werden die Einstellungen im Array definiert. „controller“ steht für den Controller, zu dem weitergeleitet werden soll und „action“ für die Aktion im entsprechenden Controller. Mit „sTarget“ und „sTargetAction“ wird angegeben auf welchen Controller und welche Aktion des Controllers nach der korrekten Ausführung der aufgerufenen Seite angezeigt werden soll. In unserem Fall wird auf „/checkout/confirm“ weitergeleitet.
$indexController->redirect(
array(
'controller' => 'checkout',
'action' => 'shippingPayment',
'sTarget' => 'checkout',
'sTargetAction' => 'confirm',
)
);