Hallo,
ich würde gerne per AJAX auf den Newsletter Controller zugreifen, ohne dass der User direkt auf die Newsletter-Seite weitergeleitet wird. Ich möchte damit ermöglichen, dass sich User ohne die Newsletter-Seite und ohne zusätzliches Laden der kompletten Seite registrieren können.
Meine Idee war folgende:
Ich schreibe einen Plugin mit einem Controller der in etwa wie folgt aussieht:
Front()->Plugins()->ViewRenderer()->setNoRender();
// Hier möchte ich den Aufruf zur Registrierung direkt an den Newsletter-Controller
// weiterleiten, so das ich nur im Ergebnis ($result) schauen muss, ob die Registrierung
// erfolgreich ist oder nicht
$result = $this->forward('index', 'newsletter', 'frontend', $this->Request()->getParams());
//bei $result erhalte ich leider nur NULL als Ausgabe
echo '';
var_dump($result);
echo '';
die();
// Hier will ich das ergebnis per JSON zurückgeben um später eine Bestätigung anzeigen zu
// können, ob die Registrierung erfolgreich war oder nicht
$this->Response()->setBody(
json_encode(
[
//Hier das Ergebnis ob die Registierung erfolgreich war oder nicht
'info1' => 123,
'info2' => 333
]
)
);
}
}
-
Warum funktioniert mit $this->forward so scheinbar nicht?
-
Was haltet ihr von diesem Weg, was wäre aus eurer Sicht die bessere Alternative?