【问题标题】:How to get a list of categories by product number?如何按产品编号获取类别列表?
【发布时间】:2011-04-02 12:27:30
【问题描述】:

我需要按产品编号对类别进行排序,这意味着哪个类别有大量产品会显示在类别列表的顶部。因此类别列表应按产品编号降序排列。 任何帮助将不胜感激!

我的分类及其产品如下:

category                           no of products

cell phones                                 5
cameras                                     8
computers                                   3

我想按产品编号对类别相机、手机、计算机进行排序。对于这个排序结果,我想使用加入类别的集合类

【问题讨论】:

    标签: magento


    【解决方案1】:

    以下代码将按类别获取产品:-

    $productCollection = Mage::getResourceModel('catalog/product_collection')
                             ->addCategoryFilter($category);
    
    $productCount = $productCollection->count();
    

    你可以这样做:-

    • 获取所有类别的数组
    • 遍历它们
    • 使用每个类别的产品计数获取产品集合(来自上述代码)。
    • 按产品数量对类别进行排序。

    希望这会有所帮助。谢谢。

    【讨论】:

      【解决方案2】:

      如果您有一个名为 $collection 的类别集合,那么您可以这样做:

      $collection->setOrder('children_count', 'desc');
      

      编辑:
      要使其成为覆盖集合中的默认值,请使用以下方法:

      protected function _initSelect()
      {
          parent::_initSelect();
          $this->setOrder('children_count', 'desc');
          return $this;
      }
      

      【讨论】:

      • 我正在覆盖类别的集合类,我想按产品编号对类别进行排序,所以我需要在集合中进行更改。任何想法都可以按产品编号对默认 magento 中的所有类别进行排序。
      猜你喜欢
      • 1970-01-01
      • 2019-12-22
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      相关资源
      最近更新 更多