cara memeriksa apakah produk didiskon


13

Bagaimana saya bisa tahu jika produk saat ini mendapat diskon?

Saya menggunakan kode ini.

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

Tapi itu tidak berhasil.


Saya pikir Anda perlu harga khusus?
— Keyul Shah

Jawaban:


13

Kode yang Anda sebutkan selalu bekerja untuk saya. Saya pikir itu tergantung bagaimana Anda mendapatkan $product.
Jika Anda melakukan ini, itu harus bekerja.

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

jika Anda mendapatkan produk dari koleksi, dapatkan koleksi seperti ini:

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

Sekarang Anda dapat mengulang koleksi dan melakukan pemeriksaan.

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

Metode ini mempertimbangkan diskon yang diberikan oleh harga khusus dan aturan harga katalog.

Informasi tambahan. Topik yang sedikit keluar tetapi berguna: Inilah cara Anda mendapatkan daftar produk yang memiliki diskon

$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

Saya yakin Anda sedang mencari $product->getPrice()dan $product->getSpecialPrice().


2
Namun, ini tidak akan mendeteksi jika produk tersebut didiskon melalui aturan harga katalog.
— ProxiBlue
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.