How can get Final Price, with applied price rule i

2019-02-06 19:18发布

问题:

For example

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

I can get in frontend when insert to .phtml

BUT I can not get final price (with discount) in admin section or in custom product export file.

回答1:

Price calculation in Magento is a hot mess. You need to load the frontend event area in order to trigger rule calculation (ref Mage_CatalogRule_Model_Observer::processFrontFinalPrice() configured in Mage_CatalogRule config.xml).

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


回答2:

I think its not necessary to load the frontend event area part. Often the product is not instanced correctly.

Try:

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

and then:

$product->getFinalPrice()

should give the correct final price.

Otherwise try the solutions given here: https://stackoverflow.com/a/14096072/2787671