se você obtiver os produtos de uma coleção, obtenha a coleção assim:
$collection =Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addMinimalPrice()->addFinalPrice()->addTaxPercents()//additional filters go here;
Agora você pode percorrer a coleção e fazer sua verificação.
foreach($collection as $product){if($product->getFinalPrice()< $product->getPrice()){//had a discount}}
Esse método leva em consideração o desconto oferecido por preços especiais e regras de preços de catálogo.
Informação adicional. Um tópico pouco interessante, mas útil: veja como você pode obter a lista de produtos com desconto
Respostas:
O código que você mencionou sempre funcionou para mim. Eu acho que depende de como você recebe o
$product
.Se você fizer isso, deve funcionar.
se você obtiver os produtos de uma coleção, obtenha a coleção assim:
Agora você pode percorrer a coleção e fazer sua verificação.
Esse método leva em consideração o desconto oferecido por preços especiais e regras de preços de catálogo.
Informação adicional. Um tópico pouco interessante, mas útil: veja como você pode obter a lista de produtos com desconto
fonte
Eu acredito que você está procurando
$product->getPrice()
e$product->getSpecialPrice()
.fonte