Как получить список категорий по номеру товара? - PullRequest
2 голосов
/ 02 апреля 2011

Мне нужно отсортировать категории по номеру продукта, это означает, что в категории, в которой имеется большое количество продуктов, отображается вверху списка категорий.Таким образом, список категорий должен быть в порядке убывания по номеру продукта.Любая помощь будет оценена!

У меня есть категории и их продукт следующим образом:

category                           no of products

cell phones                                 5
cameras                                     8
computers                                   3

Я хотел бы отсортировать категории камеры, мобильные телефоны, компьютеры номер продукта. Для этого результата сортировки я хотел бы использовать объединение в классе коллекции категории .

Ответы [ 2 ]

3 голосов
/ 04 апреля 2011

Следующий код доставит товар по категориям: -

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

$productCount = $productCollection->count();

Вы можете сделать так: -

  • Получить массив всех категорий
  • Перебрать их
  • Получить коллекцию продуктов с количеством продуктов для каждой категории ( из приведенного кода ).
  • Сортировка категорий по количеству товаров.

Надеюсь, это поможет. Благодаря.

2 голосов
/ 02 апреля 2011

Если у вас есть коллекция категорий, называемая $collection, вы можете сделать это:

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

Редактировать:
Чтобы сделать ее по умолчанию в переопределенной коллекции, используйтеэтот метод:

protected function _initSelect()
{
    parent::_initSelect();
    $this->setOrder('children_count', 'desc');
    return $this;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...