如何在 Sylius 中以编程方式将 "product" 添加到购物车
How to add "product" to the cart programatically in Sylius
给定当前购物车和变体 ID,如何以编程方式将此变体添加到购物车(无需额外的 HTTP 请求)?
查找您要添加的变体:
$variant = $this->container->get('sylius.repository.product_variant')->findOneById(123);
创建新订单项
$orderItem = $this->container->get('sylius.factory.order_item')->createNew();
为订单商品实体设置变体
$orderItem->setVariant($variant);
修改订单商品数量(即使是1件也必须修改,否则会出现无法添加订单商品数量为0的错误)
$this->container->get('sylius.order_item_quantity_modifier')->modify($orderItem, 3);
向订单中添加订单商品
$order->addItem($orderItem);
最终触发订单处理器(税收、促销等。)
$this->container->get('sylius.order_processing.order_processor')->process($order);
给定当前购物车和变体 ID,如何以编程方式将此变体添加到购物车(无需额外的 HTTP 请求)?
查找您要添加的变体:
$variant = $this->container->get('sylius.repository.product_variant')->findOneById(123);
创建新订单项
$orderItem = $this->container->get('sylius.factory.order_item')->createNew();
为订单商品实体设置变体
$orderItem->setVariant($variant);
修改订单商品数量(即使是1件也必须修改,否则会出现无法添加订单商品数量为0的错误)
$this->container->get('sylius.order_item_quantity_modifier')->modify($orderItem, 3);
向订单中添加订单商品
$order->addItem($orderItem);
最终触发订单处理器(税收、促销等。)
$this->container->get('sylius.order_processing.order_processor')->process($order);