在 Shopware 6 中按购物车外的重量计算运费

Calculate shipping costs by weight outside of cart in Shopware 6

提问人:MariusWa 提问时间:11/11/2023 更新时间:11/11/2023 访问量:45

问:

我尝试在 Shopware 6 中动态地向客户展示 PDP 上可能的运输成本。我已经尝试过这样的事情:

    /**
     * @Route("/shipping-cost", name="frontend.example.shipping-cost", methods={"GET"}, defaults=   {"XmlHttpRequest"=true})
     */
    public function exampleAction(Request $request, SalesChannelContext $context): JsonResponse
    {
        $orderNumber = $request->query->get('orderNumber');
        $quantity = (int) $request->query->get('quantity');
        $productRepository = $this->container->get('product.repository');

        $productId = $this->findProductIdByOrderNumber($productRepository, $orderNumber);

        $cart = $this->cartService->getCart($context->getToken(), $context);
        $cart->setToken("dummy_token");

        $productLineItem = $this->createProductLineItem($productId, $quantity);
        $this->cartService->add($cart, $productLineItem, $context);
        $cart = $this->cartRuleLoader->loadByCart($context, $cart, new CartBehavior([], true, true))->getCart();

        $shippingCost = $cart->getShippingCosts()->getTotalPrice();

        return new JsonResponse(['shipping_cost' => $shippingCost]);
    }

这适用于一个投放规则,但对于多个规则,它可能不起作用。当购物车中阻止运输方式时,它无法更改运输规则。

解决方案可以是:与购物车中的产品一起计算运费,或者只计算产品本身。

我很乐意提供任何信息、帮助或建议。

Shopware Shopware6-APP

评论


答: 暂无答案