Magento报价项目的定制价格被忽略了吗?

时间:2013-10-22 09:55:34

标签: magento

我希望能够根据我使用过此代码的几个教程,将报价项目的价格改为与产品不同:

$quoteItem->setCustomPrice($price);
$quoteItem->setOriginalCustomPrice($price);
$quoteItem->getProduct()->setIsSuperMode(true);
$quote->save();

在我到达购物车之后,它显示正常价格,而不是定制价格。我已经检查了购物车中的报价项目,他们有正确的customPrice,但它似乎被忽略了。我是否必须激活其他内容才能使此自定义价格生效?

PS:

Magento v1.7

2 个答案:

答案 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();