gpt4 book ai didi

magento2 - 根据自定义价格以编程方式将产品添加到购物车 : Magento 2

转载 作者:行者123 更新时间:2023-12-03 06:30:00 32 4
gpt4 key购买 nike

我有一个使用 Magento 报价模块创建报价的模块。

现在我想继续结帐,应将报价项目添加到购物车,并且结账页面应向用户显示报价中的那些项目。

这里我创建的引号如下:

$quote = $this->quoteFactory->create()->load($quoteId);

报价创建得很好,我得到的报价中的项目如下:

$items = $quote->getAllItems();

我正在将产品添加到购物车,如下所示,

$items = $quote->getAllItems();

foreach ($items as $item) {
$formatedPrice = $item->getPrice();
$quantity = $item['qty'];
$productId = $item->getProductId();

$params = array(
'form_key' => $this->formKey->getFormKey(),
'product' => $productId, //product Id
'qty' => $quantity, //quantity of product
'price' => $formatedPrice //product price
);

$_product = $this->_productRepository->getById($productId);

if ($_product) {
$this->cart->addProduct($_product, $params);
}
}
try {
$this->cart->save();
$this->messageManager->addSuccess(__('Added to cart successfully.'));
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->messageManager->addException($e, __('%1', $e->getMessage()));
}

这里的问题是商品被添加到购物车中,但如果有产品具有自定义价格,我需要将这些产品添加到购物车中,其价格与为产品配置的价格不同目录。

自定义价格定义于,

$formatedPrice = $item->getPrice();

此外,我遇到一个问题,每当我创建新报价并将以前的报价添加到购物车时,它都会显示所创建的最新报价的项目。当此处的报价 ID 正确时,怎么会发生这种情况。

我实际上想在 Magento 2 中做这样的事情: Programmatically add product to cart with price change

请问有人可以帮忙解决这个问题吗?

最佳答案

这在 Magento 2.2.8 中对我有用:

在 Controller 中:

        $price = rand(0,1000);

$this->product->setData('custom_overwrite_price', $price);

$params = [
'form_key' => $this->formKey->getFormKey(),
'qty' => 1,
'options' => ...
];

$this->cart->addProduct($this->product, $params);
$this->cart->save();

checkout_cart_product_add_after

public function execute(\Magento\Framework\Event\Observer $observer) {
$item = $observer->getEvent()->getData('quote_item');
$item = ( $item->getParentItem() ? $item->getParentItem() : $item );

$price = $item->getProduct()->getData('custom_overwrite_price');

$item->setCustomPrice($price);
$item->setOriginalCustomPrice($price);
$item->getProduct()->setIsSuperMode(true);
}

关于magento2 - 根据自定义价格以编程方式将产品添加到购物车 : Magento 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47448181/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com