提问人:MariusWa 提问时间:11/11/2023 更新时间:11/11/2023 访问量:45
在 Shopware 6 中按购物车外的重量计算运费
Calculate shipping costs by weight outside of cart in Shopware 6
问:
我尝试在 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]);
}
这适用于一个投放规则,但对于多个规则,它可能不起作用。当购物车中阻止运输方式时,它无法更改运输规则。
解决方案可以是:与购物车中的产品一起计算运费,或者只计算产品本身。
我很乐意提供任何信息、帮助或建议。
答: 暂无答案
评论