# Page.product um entitiy in extensions (addExtenions) erweitern geht nicht

**URL:** https://forum.shopware.com/t/page-product-um-entitiy-in-extensions-addextenions-erweitern-geht-nicht/104566
**Category:** Programmierung
**Created:** [16. Juli 2024 um 15:31 UTC](https://forum.shopware.com/t/page-product-um-entitiy-in-extensions-addextenions-erweitern-geht-nicht/104566 "2024-07-16T15:31:17Z")
**Posts on this page:** 1
**Page:** 2

<div class="post-metadata">

### Author: ![CptPicard](https://avatars.discourse-cdn.com/v4/letter/c/a587f6/32.png) [@CptPicard](https://forum.shopware.com/u/CptPicard)
#### Post date: [24. Juli 2024 um 13:39 UTC](https://forum.shopware.com/t/page-product-um-entitiy-in-extensions-addextenions-erweitern-geht-nicht/104566/21 "2024-07-24T13:39:05Z")

</div>

Moin Zusammen,

so sieht mein Subscriber jetzt aus:

```auto
<?php

namespace TestCartCheck\Subscriber;

use Shopware\Storefront\Page\Product\ProductPageLoadedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Shopware\Core\Checkout\Cart\SalesChannel\CartService;
use Shopware\Core\Framework\Struct\ArrayEntity;

class ProductPageSubscriber implements EventSubscriberInterface
{
    private CartService $cartService;

    public function __construct(CartService $cartService)
    {
        $this->cartService = $cartService;
    }

    public static function getSubscribedEvents(): array
    {
        return [
            ProductPageLoadedEvent::class => 'onProductPageLoaded',
        ];
    }

    public function onProductPageLoaded(ProductPageLoadedEvent $event): void
    {
        $page = $event->getPage();
        $product = $page->getProduct();
        $context = $event->getSalesChannelContext();

        // Warenkorb abrufen
        $cart = $this->cartService->getCart($context->getToken(), $context);

        // Prüfen, ob das Produkt im Warenkorb ist
        $isInCart = 0;
        foreach ($cart->getLineItems() as $item) {
            if ($item->getReferencedId() === $product->getId()) {
                $isInCart = 1;
                break;
            }
        }

        // Erweiterung zum Produkt hinzufügen
        $product->addExtension('isInCart', new ArrayEntity(['value' => $isInCart]));

    }
}

```

Das funktioniert auch soweit und mehr wollte ich auch nicht. Verbesserungsvorschläge sind natürlich immer willkommen.

Beste Grüße und vielen Dank für eure Beteiligung. Das hat mich angespornt dran zu bleiben.

Capt. Picard

[Vorherige Seite](https://forum.shopware.com/t/page-product-um-entitiy-in-extensions-addextenions-erweitern-geht-nicht/104566.md?page=1)
