2012-03-13 8 views

Respuesta

11

El cálculo del precio en Magento es un desastre. Debe cargar el área de evento frontend para activar el cálculo de regla (ref Mage_CatalogRule_Model_Observer::processFrontFinalPrice() configurado en Mage_CatalogRuleconfig.xml).

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

¿Qué hay de processAdminFinalPrice? – Kamal

+0

¿Qué tal? Suena como una nueva pregunta para mí :-) - quizás aquí o más en http://magento.stackexchange.com – benmarks

+0

Bueno, eso es cierto, pero me sorprendió por qué el cálculo de reglas desencadenado por processFrontFinalPrice, ¿no puede ser posible con processAdminFinalPrice? Puede preguntar en otra pregunta ... :) – Kamal

0

Creo que no es necesario cargar la parte del área de evento frontend. A menudo, el producto no tiene instancias correctas.

Probar:

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

y luego:

$product->getFinalPrice() 

debe dar el precio final correcta.

De lo contrario probar las soluciones que se dan aquí: https://stackoverflow.com/a/14096072/2787671

Cuestiones relacionadas