9

例如

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

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

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

4

2 回答 2

12

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

Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND,Mage_Core_Model_App_Area::PART_EVENTS);
于 2012-03-13T13:54:26.500 回答
3

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

尝试:

$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

于 2017-09-01T09:24:10.623 回答