我正在开发一个脚本(Magento 外部,而不是模块),旨在输出所有可用产品、它们的价格和其他一些属性的文本列表。但是,目录价格规则似乎不适用于产品价格。如果我使用以下任何一种:
$_product->getPrice()
$_product->getFinalPrice()
我得到正常价格(没有应用规则)。
如果我使用:
$_product->getSpecialPrice()
我得到null除非产品实际上在产品本身中插入了特价(即,如果特价与目录规则无关)。
我也试过
Mage::getModel('catalogrule/rule')->calcProductPriceRule($product,$product->getPrice())
正如 Fabian Blechschmidt 给出的答案中所建议的那样,但有趣的是,它仅在产品受任何目录规则影响时才返回正常价格,否则返回null。
前段时间在StackOverflow和Magento 论坛中有一个类似的问题,但提供的答案(即插入下面的代码)对我不起作用(返回的价格保持不变)。
Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND,Mage_Core_Model_App_Area::PART_EVENTS);
有人知道如何实现这一目标吗?
我正在使用 Magento 1.6.2.0。提前致谢。