如何在Magento的产品列表页面上显示最热门(最畅销)产品的排序?

时间:2013-06-21 07:55:32

标签: magento

我正在使用以下教程按选项(过滤)显示最畅销的产品,以显示在magento的产品详情页面上?

Tutorial

enter image description here

/app/code/local/Mage/Catalog/Model/Resource/Product/collection.php

<?php
public function sortByReview($dir){
 $table = $this->getTable('review/review'); 
 $entity_code_id = Mage::getModel('review/review')->getEntityIdByCode(Mage_Rating_Model_Rating::ENTITY_PRODUCT_CODE);  
 $cond = $this->getConnection()->quoteInto('t2.entity_pk_value = e.entity_id and ','').$this->getConnection()->quoteInto('t2.entity_id = ? ',$entity_code_id); 

 $this->getSelect()->joinLeft(array('t2'=>$table), $cond,array('review' => new Zend_Db_Expr('count(review_id)'))) 
->group('e.entity_id')->order("review $dir"); 
 }
 ?> 

但我想对从各个类别中销售最多的产品进行分类。

我该怎么做? 有没有可用的免费扩展名?

3 个答案:

答案 0 :(得分:1)

我做了以下事情,因为客户不想自动过滤大多数已售出的产品。

我创建了一个属性&#34;受欢迎&#34;下拉并给出1到5之间的值。然后标记为&#34; 用于产品列表中的排序&#34;是的。

在此之后,该属性在排序选项下可见。

答案 1 :(得分:0)

访问此link它可能会对您有所帮助。当我开发出与你相同的功能时,它肯定有。

感谢。

答案 2 :(得分:0)

要在Magento Sort by下拉列表中添加按受欢迎程度排序或按评级排序选项,首先您必须更改从数据库中检索产品的方式以包括总体评级(显示为产品上的星数)以及其他产品属性。将文件app/code/core/Mage/Catalog/Block/Product/List.php复制到

app/code/local/Mage/Catalog/Block/Product/List.php并打开进行编辑。

在新的List.php文件中,找到以下行(第86行):

$this->_productCollection = $layer->getProductCollection();

之后添加以下内容:

$this->_productCollection->joinField('rating_summary', 'review_entity_summary', 'rating_summary', 'entity_pk_value=entity_id', array('entity_type'=>1, 'store_id'=> Mage::app()->getStore()->getId()), 'left');

现在我们需要添加一个选项,以便客户可以选择“评级”作为要排序的属性。

将文件app/code/core/Mage/Catalog/Model/Config.php复制到

app/code/local/Mage/Catalog/Model/Config.php并修改。

在新的Config.php文件中,找到以下代码(第298行):

$options = array(

'position'  => Mage::helper('catalog')->__('Position')

);

将代码替换为:

$options = array(

'position'  => Mage::helper('catalog')->__('Position'),

'rating_summary' => Mage::helper('catalog')->__('Rating')

);

致谢:http://www.demagento.com/magento-how-to-sort-products-by-rating/