我希望能够根据我使用过此代码的几个教程,将报价项目的价格改为与产品不同:
$quoteItem->setCustomPrice($price);
$quoteItem->setOriginalCustomPrice($price);
$quoteItem->getProduct()->setIsSuperMode(true);
$quote->save();
在我到达购物车之后,它显示正常价格,而不是定制价格。我已经检查了购物车中的报价项目,他们有正确的customPrice,但它似乎被忽略了。我是否必须激活其他内容才能使此自定义价格生效?
PS:
Magento v1.7
答案 0 :(得分:9)
好的,所以我发现了问题,不知何故它没有保存在我的脚本中。不知道为什么,但我已经将我的代码重写为2个函数,1个用于添加产品,另一个用于更改价格。
所以这段代码是必要的:
$quoteItem->setCustomPrice($price);
$quoteItem->setOriginalCustomPrice($price);
$quoteItem->getProduct()->setIsSuperMode(true);
$quoteItem->save();
无需保存报价,只需quoteItem。
答案 1 :(得分:2)
应该是一个简单的解决方法:如果我没有弄错你试图保存报价项目的价格,但你保存报价。您还需要保存报价项目。
$quoteItem->setCustomPrice($price);
$quoteItem->setOriginalCustomPrice($price);
$quoteItem->getProduct()->setIsSuperMode(true);
$quoteItem->save();
$quote->save();