Продукты Magento категориями

Я пытаюсь получить productsCollection этим кодом:

    $collection = Mage::getModel('catalog/category')->getCollection();
/* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection */
$collection->addAttributeToSelect('url_key')
    ->addAttributeToSelect('name')
    ->addAttributeToSelect('is_anchor')
    ->addAttributeToFilter('is_active', 1)
    ->addIdFilter(array(4,5))//$_categories)
    ->setOrder('position', 'ASC')
    ->joinUrlRewrite()
    ->load();

$productCollection = Mage::getResourceModel('catalog/product_collection');
$layer             = Mage::getSingleton('catalog/layer');
$layer->prepareProductCollection($productCollection);
$productCollection->addCountToCategories($collection);
foreach($productCollection as $product){
    print_r($product->getCategoryIds());
}

Но строка addIdFilter (массив (4,5)) не работает, и я вижу весь продукт, даже что не в некоторых категориях.

Что не так?

1
задан Kein 17 June 2010 в 14:16
поделиться

1 ответ

попробуйте передать строку с идентификаторами, разделенными запятыми:

->addIdFilter("4,5")

Если это не работает, вы всегда можете попробовать:

->addAttributeToFilter(’id’, array('in' => array(4,5))) 
2
ответ дан 2 September 2019 в 23:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: