如何在Magento中使用适用的价格规则获得最终价格

时间:2012-03-13 13:31:24

标签: magento discount

例如

$_producte = Mage::getModel('catalog/product')->load(2974);
echo $_producte->getFinalPrice();

插入.phtml时我可以进入前端

但我无法在管理部分或自定义产品导出文件中获得最终价格(有折扣)。

2 个答案:

答案 0 :(得分:12)

Magento的价格计算是一个热点。您需要加载前端事件区域以触发规则计算(Mage_CatalogRule_Model_Observer::processFrontFinalPrice() config.xml 中配置的ref Mage_CatalogRule。)

Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND,Mage_Core_Model_App_Area::PART_EVENTS);

答案 1 :(得分:2)

我认为没有必要加载前端事件区域部分。产品通常没有正确实例化。

尝试:

$product
    ->setStoreId(1) //your store_id here
    ->setCustomerGroupId(1) //your favorite customer group id here
    ->load($productId)

然后:

$product->getFinalPrice()

应该给出正确的最终价格。

否则尝试这里给出的解决方案: https://stackoverflow.com/a/14096072/2787671