给出当前购物车和商品ID,如何以编程方式将此商品添加到购物车(无需其他HTTP请求)?
答案 0 :(得分:2)
找到要添加的变体:
$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);