【问题标题】:Magento custom price on Quote Item is ignored?报价项目上的 Magento 自定义价格被忽略?
【发布时间】:2013-10-31 20:14:19
【问题描述】:

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

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

之后,当我进入购物车时,它显示的是正常价格,而不是自定义价格。我检查了购物车中的报价项目,它们有正确的 customPrice,但它似乎被忽略了。我是否必须激活其他东西才能使此自定义价格生效?

PS:

Magento v1.7

【问题讨论】:

    标签: magento


    【解决方案1】:

    好的,所以我发现了问题,不知何故它没有保存在我的脚本中。不知道为什么,但我已将代码重写为 2 个函数,1 个用于添加产品,另一个用于更改价格。

    所以这段代码就足够了:

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

    无需保存报价,只需报价项目。

    【讨论】:

    • 你能分享一下你是如何改变价格的吗?我面临同样的问题,
    • 您好,很抱歉,我已经很久没有使用 Magento 了。因此我现在不知道该怎么做。
    • 没关系,我自己试试。
    【解决方案2】:

    应该是一个简单的解决方法:如果我没记错的话,您正在尝试保存报价项目的价格,但您却保存了报价。您还需要保存报价项目本身。

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

    【讨论】:

    • 也试过了,但没必要保存quoteitem。当我去购物车时,这些物品确实保存了这些自定义价格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多