private function addItem(ProductInterface $product, $quantity, OrderInterface $cart) { /** @var OrderItemInterface $item */ $item = $this->orderItemFactory->createNew(); $item->setUnitPrice($product->getPrice()); $item->setProduct($product); $this->modifier->modify($item, $quantity); $event = new CartItemEvent($cart, $item); $this->eventDispatcher->dispatch(SyliusCartEvents::ITEM_ADD_INITIALIZE, $event); $this->eventDispatcher->dispatch(SyliusCartEvents::CART_CHANGE, new GenericEvent($cart)); $this->eventDispatcher->dispatch(SyliusCartEvents::CART_SAVE_INITIALIZE, $event); $this->eventDispatcher->dispatch(SyliusCartEvents::ITEM_ADD_COMPLETED, new FlashEvent()); }