Le code que vous avez mentionné a toujours fonctionné pour moi. Je pense que cela dépend de la façon dont vous l'obtenez $product.
Si vous faites cela, cela devrait fonctionner.
si vous obtenez les produits d'une collection, obtenez la collection comme ceci:
$collection =Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addMinimalPrice()->addFinalPrice()->addTaxPercents()//additional filters go here;
Vous pouvez maintenant parcourir la collection et faire votre vérification.
foreach($collection as $product){if($product->getFinalPrice()< $product->getPrice()){//had a discount}}
Cette méthode prend en compte la remise prévue par les prix spéciaux et les règles de prix catalogue.
Information additionnelle. Un peu hors sujet mais utile: voici comment obtenir la liste des produits bénéficiant d'une remise
Réponses:
Le code que vous avez mentionné a toujours fonctionné pour moi. Je pense que cela dépend de la façon dont vous l'obtenez
$product
.Si vous faites cela, cela devrait fonctionner.
si vous obtenez les produits d'une collection, obtenez la collection comme ceci:
Vous pouvez maintenant parcourir la collection et faire votre vérification.
Cette méthode prend en compte la remise prévue par les prix spéciaux et les règles de prix catalogue.
Information additionnelle. Un peu hors sujet mais utile: voici comment obtenir la liste des produits bénéficiant d'une remise
la source
Je crois que vous cherchez
$product->getPrice()
et$product->getSpecialPrice()
.la source