Коллекции Magento (получение продуктов по идентификатору типа в определенном порядке

Я хочу получить коллекцию товаров из magento в определенном порядке.

  1. Простые продукты
  2. Конфигурируемые продукты
  3. Сгруппированные продукты

Как мне добавить фильтр, который будет извлекать продукты в этом порядке?


person numerical25    schedule 25.02.2013    source источник
comment
может группаBy? -_- что ты пробовал?   -  person Jscti    schedule 25.02.2013
comment
Я не пробовал group by, может быть, это должно сработать.   -  person numerical25    schedule 26.02.2013


Ответы (1)


Это невозможно напрямую. У меня есть 2 решения:

1. Получите товары в 3 разных коллекциях, используя addAttributeToFilter, где attribute name равно type_id. Для условия вы можете использовать Mage_Catalog_Model_Product_Type::TYPE_SIMPLE, Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE и Mage_Catalog_Model_Product_Type::TYPE_GROUPED.

Пример:

$simple_products = $model->getCollection()
        ->addAttributeToSelect('*')
        ->addAttributeToFilter('type_id', Mage_Catalog_Model_Product_Type::TYPE_SIMPLE);

2. Добавьте пользовательский атрибут из панели администратора (например, 1 для простых, 2 для настраиваемых, 3 для сгруппированных продуктов и т. д.) и используйте его с addAttributeToSort.

person enenen    schedule 26.02.2013
comment
как ты получил $model - person ahnbizcad; 31.10.2015
comment
$model = Mage::getModel('каталог/продукт'); - person enenen; 04.11.2015