# sBasket durch eigene Komponente ersetzen

**URL:** https://forum.shopware.com/t/sbasket-durch-eigene-komponente-ersetzen/45745
**Category:** Programmierung
**Created:** [13. Mai 2017 um 16:12 UTC](https://forum.shopware.com/t/sbasket-durch-eigene-komponente-ersetzen/45745 "2017-05-13T16:12:22Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Nikk](https://avatars.discourse-cdn.com/v4/letter/n/d6d6ee/32.png) [@Nikk](https://forum.shopware.com/u/Nikk)
#### Post date: [13. Mai 2017 um 16:12 UTC](https://forum.shopware.com/t/sbasket-durch-eigene-komponente-ersetzen/45745/1 "2017-05-13T16:12:22Z")

</div>

Hallo allerseits,

ich würde gerne die Core Komponente sBasket anpassen und erweitern. Dazu möchte ich wie hier beschrieben -&nbsp;[Example plugin: storefront extension](https://developers.shopware.com/developers-guide/example-plugin/#enlight_bootstrap_initresource_shopware_storefront.seo_category_service) - die Komponente durch meine Eigene ersetzen.

Allerdings hatte ich damit bisher keinen Erfolg, die Callback function zum Initialisieren meiner Komponente&nbsp;wird nicht ausgeführt. Weiß jemand welchen&nbsp;Eventnamen&nbsp;ich dafür verwenden muss? Versucht habe ich mehrere u.A.&nbsp;Enlight\_Bootstrap\_InitResource\_sBasket:

```
$this->subscribeEvent(
  'Enlight_Bootstrap_InitResource_sBasket',
  'registerBasketService'
);

```

Nachtrag:  
Was mir auch helfen würde, wäre die Möglichkeit die Parameter für die Erstellung (constructor parameter) des originalen sBasket bestimmen zu können. Die extra Methoden kann ich ggf. in einem eigenen Service implementieren.

Besten Dank  
Nikk

---

<div class="post-metadata">

### Author: ![Nikk](https://avatars.discourse-cdn.com/v4/letter/n/d6d6ee/32.png) [@Nikk](https://forum.shopware.com/u/Nikk)
#### Post date: [25. Mai 2017 um 16:25 UTC](https://forum.shopware.com/t/sbasket-durch-eigene-komponente-ersetzen/45745/2 "2017-05-25T16:25:50Z")

</div>

Ich habe Core Module mit Core Services verwechselt.

Core Services können nur erweitert (z.B. decorator pattern) oder ersetzt werden.

Core Module bieten wie hier beschrieben ([Understanding the Shopware hook system](https://developers.shopware.com/blog/2015/06/09/understanding-the-shopware-hook-system/)) für jede public Method hooks an, da diese via Proxy erstellt (also das Objekt) und aufgerufen werden.

Was ich also gemacht habe um Quasi das sBasket Module zu ersetzten, war folgendes:

1. Für jede public Method ein replace hook registriert:

2. sBasketCustom in MeinPlugin/Component/ angelegt, was von sBasket erbt und die gewünschten Methoden überschreibt

3. Das Event Callback setCustomBasket implementiert mit:

Vielleicht hilft das ja jemandem weiter.
