Làm thế nào để kiểm tra nếu sản phẩm được giảm giá


13

Làm thế nào tôi có thể biết nếu sản phẩm hiện đang có giảm giá?

Tôi đã sử dụng mã này.

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

Nhưng nó không hoạt động.


Tôi nghĩ bạn cần giá đặc biệt?
Keyul Shah

Câu trả lời:


13

Mã bạn đề cập luôn làm việc cho tôi. Tôi nghĩ rằng nó phụ thuộc vào cách bạn có được $product.
Nếu bạn làm điều này nó sẽ làm việc.

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

nếu bạn nhận được các sản phẩm từ một bộ sưu tập, hãy lấy bộ sưu tập như thế này:

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

Bây giờ bạn có thể lặp qua bộ sưu tập và kiểm tra.

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

Phương pháp này có tính đến việc giảm giá được cung cấp bởi giá đặc biệt và quy tắc giá danh mục.

Thông tin bổ sung. Một chút lạc đề nhưng hữu ích: Đây là cách bạn có thể nhận được danh sách các sản phẩm có giảm giá

$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

Tôi tin rằng bạn đang tìm kiếm $product->getPrice()$product->getSpecialPrice().


2
Tuy nhiên, điều này sẽ không phát hiện nếu sản phẩm được giảm giá thông qua quy tắc giá của danh mục.
ProxiBlue
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.