# Artikel zum Warenkorb hinzufügen in Subscriber

**URL:** https://forum.shopware.com/t/artikel-zum-warenkorb-hinzufuegen-in-subscriber/106165
**Category:** Programmierung
**Created:** [27. Dezember 2024 um 09:42 UTC](https://forum.shopware.com/t/artikel-zum-warenkorb-hinzufuegen-in-subscriber/106165 "2024-12-27T09:42:30Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![zlep](https://avatars.discourse-cdn.com/v4/letter/z/9de0a6/32.png) [@zlep](https://forum.shopware.com/u/zlep)
#### Post date: [27. Dezember 2024 um 09:42 UTC](https://forum.shopware.com/t/artikel-zum-warenkorb-hinzufuegen-in-subscriber/106165/1 "2024-12-27T09:42:30Z")

</div>

Hallo,

ich versuche einen Artikel zum Warenkorb mit dem Event ‚BeforeLineItemAddedEvent‘ hinzuzufügen. Ziel ist es, einen Promotionartikel automatisch zum Warenkorb hinzuzufügen, sobald ein User einen anderen Artikel in den Warenkorb legt.

Dazu habe ich mich grundsätzlich hieran orientiert: [Add Cart Items | Shopware Documentation](https://developer.shopware.com/docs/guides/plugins/plugins/checkout/cart/add-cart-items.html)

Im Controller funktioniert das auch, jedoch nicht in meinem Subscriber:

```
public function onLineItemAdded(BeforeLineItemAddedEvent $event): void
{
   $context = $event->getSalesChannelContext();
   //$cart = $this->cartService->getCart($event->getCart()->getToken(), $event->getSalesChannelContext());
   $cart = $this->cartService->getCart($event->getSalesChannelContext()->getToken(), $event->getSalesChannelContext());
    // Create product line item
    $lineItem = $this->factory->create([
        'type' => LineItem::PRODUCT_LINE_ITEM_TYPE, // Results in 'product'
        'referencedId' => '2a88d9b59d474c7e869d8071649be43c', // this is not a valid UUID, change this to your actual ID!
        'quantity' => 5,
        'payload' => ['key' => 'value']
    ], $context);
    $this->cartService->add($cart, $lineItem, $context);

```

}

Als Fehlermeldung erhalte ich einfach ein 503 Fehler.

In meiner services.xml sind die beiden Service natürlich drin:

Kann mir jemand sagen, warum das im Controller funktioniert, jedoch nicht im Subscriber?  
Vielen Dank bereits im Voraus
