magento根据浏览次数为商品做排行

最近的magento开发真让人不爽,先吐槽一下!

遇到一个问题,想根据前台商品的浏览次数为商品做排行,即为用户提供查看:最多浏览商品 的功能。

核心代码如下:

require_once ('app/Mage.php');

Mage::app('default');

$visibility= array(
Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG
);

 

$_productCollection= Mage::getResourceModel('reports/product_collection')     //获取所有商品集
->addAttributeToSelect('*')      //添加商品属性
->addAttributeToFilter('visibility', $visibility)      //设置商品可见过滤器
->addViewsCount();       //添加浏览次数

 

在前台如果需要显示商品的浏览次数,使用 <?php echo $_product->getViews(); ?>即可。

 

如果想继续深入研究,可以找到..\app\code\core\Mage\Reports\Model\Mysql4\Product\Collection.php文件,也就是Mage::getResourceModel('reports/product_collection')这句代码所生成的商品集对象,可以看到他的addViewsCount()方法的具体实现(默认已经对 浏览次数 做降序排列了)。

 

 

QQ:563084310

posted @ 2012-07-08 10:40  xiaoSoldier  阅读(340)  评论(0编辑  收藏  举报