custom/plugins/OkeonlineKejeDeliveryDatePicker/src/Storefront/Subscriber/OffcanvasCartPageLoadedEventSubscriber.php line 21

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Okeonline\KejeDeliveryDatePicker\Storefront\Subscriber;
  3. use Okeonline\KejeDeliveryDatePicker\Storefront\Subscriber\Traits\AddsWeeknumbersToPage;
  4. use Okeonline\KejeDeliveryDatePicker\Storefront\Subscriber\Traits\GetsSelectedWeeknumberFromCart;
  5. use Shopware\Storefront\Page\Checkout\Confirm\CheckoutConfirmPageLoadedEvent;
  6. use Shopware\Storefront\Page\Checkout\Offcanvas\OffcanvasCartPageLoadedEvent;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class OffcanvasCartPageLoadedEventSubscriber implements EventSubscriberInterface
  9. {
  10.     public static function getSubscribedEvents(): array
  11.     {
  12.         return [
  13.             OffcanvasCartPageLoadedEvent::class => 'removeDeliveryDateFromCartViews'
  14.         ];
  15.     }
  16.     public function removeDeliveryDateFromCartViews(OffcanvasCartPageLoadedEvent $event)
  17.     {
  18.         $page $event->getPage();
  19.         $cartLineItems $page->getCart()->getLineItems();
  20.         $deliveryDateItems $cartLineItems->filterFlatByType('deliveryDate');
  21.         if(count($deliveryDateItems) > 0)
  22.         {
  23.             foreach($deliveryDateItems as $deliveryDateItem)
  24.             {
  25.                 $cartLineItems->remove($deliveryDateItem->getId());
  26.             }
  27.         }
  28.     }
  29. }