2012-03-13 11 views

risposta

11

Il calcolo dei prezzi in Magento è un casino caldo. È necessario caricare l'area dell'evento frontend per attivare il calcolo della regola (rif Mage_CatalogRule_Model_Observer::processFrontFinalPrice() configurato in Mage_CatalogRuleconfig.xml).

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

Che dire processAdminFinalPrice? – Kamal

+0

Che ne pensi? Sembra una nuova domanda per me :-) - forse qui o sopra a http://magento.stackexchange.com – benmarks

+0

Beh, questo è vero ma sono rimasto sorpreso dal motivo per cui il calcolo delle regole è stato attivato da processFrontFinalPrice, non è possibile con processAdminFinalPrice? Posso chiedere in una domanda a parte .. :) – Kamal

0

Penso che non sia necessario caricare la parte dell'area eventi frontend. Spesso il prodotto non è istanziato correttamente.

Prova:

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

e poi:

$product->getFinalPrice() 

dovrebbe dare il prezzo finale corretta.

In caso contrario provare le soluzioni qui riportati: https://stackoverflow.com/a/14096072/2787671

Problemi correlati