як перевірити, чи дисконтується продукт


13

Як я можу дізнатися, чи на даний момент знижка на товар?

Я використав цей код.

if($product->getFinalPrice() < $product->getPrice()){
   //had a discount
}

Але це не працює.


Я думаю, вам потрібна спеціальна ціна?
Кейул Шах

Відповіді:


13

Код, який ви згадали, завжди працював для мене. Я думаю, це залежить від того, як ви отримаєте $product.
Якщо ви це зробите, це має працювати.

$product = Mage::getModel('catalog/product')->load($id);

якщо ви отримуєте товари з колекції, отримайте колекцію так:

$collection = Mage::getModel('catalog/product')->getCollection()
            ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
            ->addMinimalPrice()
            ->addFinalPrice()
            ->addTaxPercents() //additional filters go here;

Тепер ви можете проглядати колекцію і робити свою перевірку.

foreach ($collection as $product){
    if($product->getFinalPrice() < $product->getPrice()){
       //had a discount
    }
}

Цей метод враховує знижку, яку надають спеціальні ціни та правила цінових каталогів.

Додаткова інформація. Трохи поза темою, але корисно: Ось як ви можете отримати список товарів, які мають знижку

$collection = Mage::getModel('catalog/product')->getCollection()
            ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
            ->addMinimalPrice()
            ->addFinalPrice()
            ->addTaxPercents()
            ->addUrlRewrite();

Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);

$collection->getSelect()->where("`price_index`.price !=price_index.min_price");

5

Я вірю, що ви шукаєте $product->getPrice()і $product->getSpecialPrice().


2
Це, однак, не визначить, якщо товар знижується за допомогою правила ціни на каталог.
ProxiBlue
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.