无法在自定义脚本中检索折扣产品价格

时间:2012-01-12 02:28:57

标签: magento

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

这是我的代码,为了演示目的,我大大缩短了代码:

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

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

    echo $product->getFinalPrice();
?>

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

我希望有人知道这里可能出现的问题。提前谢谢!

1 个答案:

答案 0 :(得分:3)

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

请参阅下面的添加内容。

<?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();