【问题标题】:How can get Final Price, with applied price rule in Magento如何获得最终价格,在 Magento 中应用价格规则
【发布时间】:2012-03-13 13:31:23
【问题描述】:

例如

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

插入.phtml时可以进入前端

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

【问题讨论】:

    标签: magento discount


    【解决方案1】:

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

    【讨论】:

    • processAdminFinalPrice 怎么样?
    • 怎么样?对我来说听起来像是一个新问题:-) - 也许在这里或在magento.stackexchange.com
    • 嗯,这是真的,但我很惊讶为什么由 processFrontFinalPrice 触发规则计算,难道不能使用 processAdminFinalPrice 吗?可以单独提问.. :)
    • FWIW 不幸的是,在 Magento 价格/总计计算方面,我对 nothing 感到惊讶......
    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多