【问题标题】:Cant retrieve discounted product price in custom script无法在自定义脚本中检索折扣产品价格
【发布时间】:2012-01-12 02:28:57
【问题描述】:

我有一个自定义脚本,它以 csv 格式输出特定产品的列表。商店的前端运行良好,但是在我的脚本中检索产品的价格时,实际的 FinalPrice 没有考虑我的目录价格规则,这有点混乱,因为 getFinalPrice() 方法在模板文件等..

这是我的代码,出于演示目的我已大大缩短:

<?php   
    require 'app/Mage.php';
    Mage::app('default');

    $product = Mage::getModel("catalog/product")->load(27809);

    echo $product->getFinalPrice();
?>

这会输出产品的正常价格,但不会输出目录价格规则中的价格。我刚刚再次应用了所有目录规则,并且还重建了所有索引。正如我所说,折扣价格在前端显示很好,但由于某种原因,我无法在我的脚本中检索它们。

我希望有人知道这里可能出了什么问题。提前致谢!

【问题讨论】:

    标签: magento


    【解决方案1】:

    产品最终价格在观察者中计算,您的脚本未加载事件配置。

    请看下面我的补充。

    <?php   
        require 'app/Mage.php';
        Mage::app('default');
    
        //load event configuration areas
        Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND, Mage_Core_Model_App_Area::PART_EVENTS);
    
        $product = Mage::getModel("catalog/product")->load(27809);
    
        echo $product->getFinalPrice();
    ?>
    

    Mage_CatalogRule_Model_Observer::processFrontFinalPrice();

    【讨论】:

    • 非常感谢,但它还没有完全起作用:“getPrice”和“getFinal”方法输出的价格都发生了变化,但现在仍然是错误的,大约比它们低 5%应该。你还有什么提示吗?
    • 跟税有区别吗?
    • 请发布数据。 $product-&gt;debug() 转储应该可以解决问题。
    • 现在,这很尴尬:Ben 的解决方案效果很好,我的产品 ID 中有错字。非常感谢!!
    猜你喜欢
    • 2019-04-18
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    • 2019-10-03
    • 2021-05-18
    相关资源
    最近更新 更多