我正在使用以下教程按选项(过滤)显示最畅销的产品,以显示在magento的产品详情页面上?
/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");
}
?>
但我想对从各个类别中销售最多的产品进行分类。
我该怎么做? 有没有可用的免费扩展名?
答案 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/