我有一个自定义脚本,用于输出csv格式的特定产品列表。商店的前端运行良好,但是在我的脚本中检索产品的价格时,实际的FinalPrice不考虑我的目录价格规则,这有点混乱,因为getFinalPrice()
方法有效完美的模板文件等..
这是我的代码,为了演示目的,我大大缩短了代码:
<?php
require 'app/Mage.php';
Mage::app('default');
$product = Mage::getModel("catalog/product")->load(27809);
echo $product->getFinalPrice();
?>
这会输出产品的常规价格,但不会计算目录价格规则的价格。我刚刚再次应用了所有目录规则,并且还重建了所有索引。正如我所说,折扣价格在前端显示正常,但由于某种原因,我无法在我的脚本中检索它们。
我希望有人知道这里可能出现的问题。提前谢谢!
答案 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();
。