# Methode des Checkout Controllers erweitern

**URL:** <https://forum.shopware.com/t/methode-des-checkout-controllers-erweitern/51343>\
**Category:** Programmierung\
**Created:** [23. Februar 2018 um 13:42 UTC](https://forum.shopware.com/t/methode-des-checkout-controllers-erweitern/51343 "2018-02-23T13:42:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![bonokburn](https://avatars.discourse-cdn.com/v4/letter/b/cc9497/32.png) [@bonokburn](https://forum.shopware.com/u/bonokburn)\
**Post date:** [23. Februar 2018 um 13:42 UTC](https://forum.shopware.com/t/methode-des-checkout-controllers-erweitern/51343/1 "2018-02-23T13:42:30Z")

</div>

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&nbsp;“getBasket” des checkout-Controllers soll der Inhalt des Warenkorbes in die Session geschrieben werden. Das war´s. 🙂

Direkt in den Controller geschrieben funktioniert&nbsp;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&nbsp;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&nbsp;“getBasket” zugreifen, um eine Session-Variable am Ende zu erzeugen?

Irgendwie habe ich da eine Blokade im Verständdnis, denn eine Methode&nbsp;z.B. von einer Rest-Api-Klasse&nbsp;könnte ganz einfach so erweitert&nbsp;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

---

<div class="post-metadata">

**Author:** ![alexanderkirk](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@alexanderkirk](https://forum.shopware.com/u/alexanderkirk)\
**Post date:** [6. März 2018 um 07:56 UTC](https://forum.shopware.com/t/methode-des-checkout-controllers-erweitern/51343/2 "2018-03-06T07:56:33Z")

</div>

Hallo,

versuche dich mal per PostDispatch in den Checkout zu hängen und mit den Modulen zu arbeiten:

```
 'onPostDispatchSecureCheckout'
            // ...
        ]
    }
    
    
    /**
     * @param \Enlight_Event_EventArgs $eventArgs
     */
    public function onPostDispatchSecureCheckout(\Enlight_Event_EventArgs $eventArgs)
    {
        // ...
        Shopware()->Session['customCart'] = Shopware()->Modules()->Basket()->sGetBasketData();
        // ...
    }

/ **....** /

?>

```

Hilft dir das weiter?

Viele Grüße,  
Alex

---

<div class="post-metadata">

**Author:** ![BestShopPossible](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@BestShopPossible](https://forum.shopware.com/u/BestShopPossible)\
**Post date:** [6. März 2018 um 09:57 UTC](https://forum.shopware.com/t/methode-des-checkout-controllers-erweitern/51343/3 "2018-03-06T09:57:09Z")

</div>

> Nach dem Aufruf der Methode&nbsp;„getBasket“ des checkout-Controllers soll der Inhalt des Warenkorbes in die Session geschrieben werden. Das war´s.&nbsp;

Seltsame Anforderung. Evtl. ist der Ansatz ja schon falsch…&nbsp;
