Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can get Final Price, with applied price rule in Magento

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.

like image 727
Alex Avatar asked Mar 13 '12 13:03

Alex


2 Answers

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);
like image 85
benmarks Avatar answered Oct 23 '22 20:10

benmarks


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

like image 27
ahe_borriglione Avatar answered Oct 23 '22 19:10

ahe_borriglione