我们的使命

助力跨境卖家高效建立全球销售网络

喜报2021年我司获《江苏省国家高新技术企业》认定

分类目录

文章标签

热门推荐

相关咨讯

opencart顶部,magento产品排序

2022-10-25 10:45:38 - 米境通跨境电商

   
    Magento默认提供了一些排序选项,例如:产品位置,名字,价格。在这篇文章中你将学会让产品按照销量来排序。

    要做到这些,我们需要重写一些Magento的核心文件。重定义核心文件并不是一个好的尝试,所以我们创建一个自己的模块来完成同样的功能并保证能升级。

    我假设你知道如何建立你自己的模块并创建对应的文件(app/etc/modules/Alwayly_Catalog.xml),所以Magento能识别我们的模块。

    现在,我们有了自己的模块并且已经被Magento识别,让我们创建自己的config.xml,路径为Alwayly/Catalog/etc/config.xml:

   

   

        0.1.0

       


   

   

   

   

    Alwayly_Catalog_Block_Product_List_Toolbar

   


   


   


   

   

   

    Alwayly_Catalog_Model_Config

   


   


   

   

    Alwayly_Catalog_Model_Resource_Product_Collection

   


   


   


   


   


    也许你会想到,我们将要重写以下三个文件:

    Mage_Catalog_Block_Product_List_Toolbar

    Mage_Catalog_Model_Config

    Mage_Catalog_Model_Resource_Product_Collection

    我们的app/code/local/Alwayly_Catalog_Block_Product_List_Toolbar应该这样:

   
    classAlwayly_Catalog_Block_Product_List_ToolbarextendsMage_Catalog_Block_Product_List_Toolbar

    {

    publicfunctionsetCollection($collection)

    {

    parent::setCollection($collection);

    if($this->getCurrentOrder()){

    if($this->getCurrentOrder()=='qty_ordered'){

    $this->getCollection()->getSelect()

    ->joinLeft(

    array('sfoi'=>$collection->getResource()->getTable('sales/order_item')),

    'e.entity_id=sfoi.product_id',

    array('qty_ordered'=>'SUM(sfoi.qty_ordered)')

    )

    ->group('e.entity_id')

    ->order('qty_ordered'.$this->getCurrentDirection());

    }else{

    $this->getCollection()

    ->setOrder($this->getCurrentOrder(),$this->getCurrentDirection())->getSelect();

    }

    }

    return$this;

    }

    }

    我们继承了Mage_Catalog_Block_Product_List_Toolbar中所有的功能和方法但我们自己重写了setCollection()方法
相关问答:
    联系我们
  • 24H客服
  • 联系电话:16651690460(陈经理)
  • 微信咨询:
南京天遥路联网络科技有限公司,版权所有 Copyright By ©米境通ERP4.0,2015-2025,苏ICP备:苏ICP备15044100号-4, 苏公网安备:32011402011043