vendor/dvdw/events/src/Content/DvdwTicket/Cart/DvdwTicketCartConverter.php line 15

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Dvdw\Events\Content\DvdwTicket\Cart;
  3. use Shopware\Core\Checkout\Cart\Order\CartConvertedEvent;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. class DvdwTicketCartConverter implements EventSubscriberInterface
  6. {
  7.     public static function getSubscribedEvents(): iterable
  8.     {
  9.         return [CartConvertedEvent::class => 'enrichLineItems'];
  10.     }
  11.     public function enrichLineItems(CartConvertedEvent $event): void
  12.     {
  13.         $data $event->getConvertedCart();
  14.         if (!isset($data['lineItems'])) {
  15.             return;
  16.         }
  17.         foreach ($data['lineItems'] as &$lineItem) {
  18.             if (!isset($lineItem['type'])
  19.                 || $lineItem['type'] !== DvdwTicketHandler::TYPE
  20.                 || !isset($lineItem['referencedId'])
  21.             )
  22.             {
  23.                 continue;
  24.             }
  25.             $lineItem['dvdwTicketId'] = $lineItem['referencedId'];
  26.         }
  27.         $event->setConvertedCart($data);
  28.     }
  29. }