<?php declare(strict_types=1);
namespace Dvdw\Events\Content\DvdwTicket\Cart;
use Shopware\Core\Checkout\Cart\Order\CartConvertedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class DvdwTicketCartConverter implements EventSubscriberInterface
{
public static function getSubscribedEvents(): iterable
{
return [CartConvertedEvent::class => 'enrichLineItems'];
}
public function enrichLineItems(CartConvertedEvent $event): void
{
$data = $event->getConvertedCart();
if (!isset($data['lineItems'])) {
return;
}
foreach ($data['lineItems'] as &$lineItem) {
if (!isset($lineItem['type'])
|| $lineItem['type'] !== DvdwTicketHandler::TYPE
|| !isset($lineItem['referencedId'])
)
{
continue;
}
$lineItem['dvdwTicketId'] = $lineItem['referencedId'];
}
$event->setConvertedCart($data);
}
}