I want to display the number of purchased item/s on a certain product. I did use this code:

$resultQuantity = $this->getQuantityPurchase($_product);

But it displays nothing. What should I do? Could I use the Product ID for this?

$id = 123; // enter your product ID here
$product = Mage::getResourceModel('reports/product_collection')
    ->addAttributeToFilter('sku', $produt->getSku())
    ->setOrder('ordered_qty', 'desc')

echo (int)$product->ordered_qty;
  • I have tried your code and I got same results for all products. – Alen Jan 15 '16 at 6:52
  • update your tried code in question? – Qaisar Satti Jan 15 '16 at 6:53
  • yes I did update it. – Alen Jan 15 '16 at 6:54
  • updated answer and tested too.. – Qaisar Satti Jan 15 '16 at 7:04
  • it is working but it includes the one which are pending for payment. – Alen Jan 15 '16 at 7:32

You can do this by getting the product sold collection

/** @var Mage_Report_Model_Mysql4_Product_Sold_Collection **/
$report = Mage::getResourceModel('reports/product_sold_collection');

You can set a date range or other criteria if you want. Once you have your collection just iterate over it, something like this:

foreach ($report AS $product) {
echo $product->getOrderedQty();}
  • I am not familiar with Mage::getResourceModel('report/product_sold_collection'). What are the filter that can be used on this report? – Alen Jan 15 '16 at 9:50
  • you can use product attribute filters like $report->addAttributeToFilter('sku', $produt->getSku()) – Shaheer Ali Jan 15 '16 at 10:05
  • I see. I will give it a try. – Alen Jan 15 '16 at 10:13
  • I am getting an error regarding the Filter. – Alen Jan 15 '16 at 10:20
  • What type of error your are getting on apply filter.you can set date range like $report->setDateRange($from, $to) – Shaheer Ali Jan 15 '16 at 10:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.