Hallo zusammen,
es gibt zwar einige Beiträge zum Thema Controller erweitern, doch eine Antwort auf meine Frage habe ich leider noch nicht gefunden.
Vielleicht könnt Ihr mir helfen:
Ich möchte eine ganz einfache Anforderung lösen:
Nach dem Aufruf der Methode “getBasket” des checkout-Controllers soll der Inhalt des Warenkorbes in die Session geschrieben werden. Das war´s.
Direkt in den Controller geschrieben funktioniert alles einwandfrei:
public function getBasket(){
$basket = $this->basket->sGetBasket();
....
$this->session["customCart"] = $basket;
}
Aber ich möchte natürlich nicht den Original-Controller verändern, sondern einen Subscriber verwenden.
Kann ich das auch über einen “Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout” -Subscriber lösen?
Und wenn ja, wie kann ich dort auf die Funktion “getBasket” zugreifen, um eine Session-Variable am Ende zu erzeugen?
Irgendwie habe ich da eine Blokade im Verständdnis, denn eine Methode z.B. von einer Rest-Api-Klasse könnte ganz einfach so erweitert werden:
class neuer_Checkout extends Shopware_Controllers_Frontend_Checkout{
public function getBasket(){
$basket = parent::getBasket();
$this->session["customCart"] = $basket;
return $basket;
}
}
Vielen Dank für Eure Hilfe!
Frank