You can use this code in any .phtml or .php files of Magento
Get overall Most viewed products:

<h2>MOst Viewed Products</h2>
<?php
       $productCount = 5;
       $storeId = Mage::app()->getStore()->getId();
       $products_list = Mage::getResourceModel('reports/product_collection')
                            ->addAttributeToSelect('*')
                            ->setStoreId($storeId)
                            ->addStoreFilter($storeId)
                            ->addViewsCount()
                            ->setPageSize($productCount); 
       print"<pre>";
       foreach ($products_list as $product){
              print_r($product);
       }
?>

I create an object of the Mage::getResourceModel(‘reports/product_collection’) and filter out the data.

Get Most viewed products for current category:

<h2>MOst Viewed Products</h2>
<?php
       $productCount = 5;
       $storeId = Mage::app()->getStore()->getId();
       $products_list = Mage::getResourceModel('reports/product_collection')
                            ->addAttributeToSelect('*')
                            ->setStoreId($storeId)
                            ->addStoreFilter($storeId)
                            ->addViewsCount()
                            ->addCategoryFilter(Mage::registry('current_category'))
                            ->setPageSize($productCount); 
       print"<pre>";
       foreach ($products_list as $product){
              print_r($product);
       }
?>

Get Most viewed products for last 15 days:

<h2>MOst Viewed Products</h2>
<?php
       $today = time();
       $startdate = $today - (60*60*24*15);

       $from = date("Y-m-d", $startdate);
       $to = date("Y-m-d", $today);
       $productCount = 5;
       $storeId = Mage::app()->getStore()->getId();
       $products_list = Mage::getResourceModel('reports/product_collection')
                            ->addAttributeToSelect('*')
                            ->setStoreId($storeId)
                            ->addStoreFilter($storeId)
                            ->addViewsCount()
                            ->addViewsCount($from, $to)
                            ->setPageSize($productCount); 
       print"<pre>";
       foreach ($products_list as $product){
              print_r($product);
       }
?>

Categories: Magento

2 Comments

bestlivetv · March 20, 2018 at 9:38 pm

Hii
I want to put your code here but doesn’t work. may you explain why?
Thanks
public/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml

    Sushant Vishwas · May 30, 2018 at 3:58 pm

    Because of the above code will only work for Magento Version 1

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *