如何按产品编号获取类别列表?

发布于 2024-10-30 00:04:05 字数 399 浏览 2 评论 0原文

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

我的类别及其产品如下:

category                           no of products

cell phones                                 5
cameras                                     8
computers                                   3

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

I need to sort categoies by product number that means which category has large number of products is shown at the top of category list. So catgories list should be descending order by product number.
any help would be appreciated!

I have categories and its product as following as:

category                           no of products

cell phones                                 5
cameras                                     8
computers                                   3

I would like to sort categories cameras,cell phones,computers by product number .For this sorting result i would like to use join in collection class of category.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

○愚か者の日 2024-11-06 00:04:05

以下代码将获取每个类别的产品:-

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

$productCount = $productCollection->count();

您可以这样做:-

  • 获取所有类别的数组
  • 循环遍历它们
  • 获取每个类别的产品集合以及产品数量(来自上面的代码) 。
  • 根据产品数量对类别进行排序。

希望这有帮助。谢谢。

The following code will fetch the product per category:-

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

$productCount = $productCollection->count();

You can do in this way:-

  • Get an array of all categories
  • Loop through them
  • Fetch product collection with product count for each category (from the above code).
  • Sort categories with the product count.

Hope this helps. Thanks.

蓝戈者 2024-11-06 00:04:05

如果您有一个名为 $collection 的类别集合,那么您可以执行以下操作:

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

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

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

If you have a collection of categories called $collection then you can do this:

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

Edit:
To make it the default in an overridden collection use this method:

protected function _initSelect()
{
    parent::_initSelect();
    $this->setOrder('children_count', 'desc');
    return $this;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文