0

我目前有类别中的产品和不属于任何类别的产品。这段代码将为我提供 Magento 中所有最近添加的产品:

$_productCollection = Mage::getResourceModel('catalog/product_collection')
                ->addAttributeToSelect('*')
                ->addAttributeToFilter($preorderAttribute, array(
                    'eq' => Mage::getResourceModel('catalog/product')
                        ->getAttribute($preorderAttribute)
                        ->getSource()
                        ->getOptionId($preorderValue)
                ))
                ->setVisibility(array(2,3,4))
                ->setOrder('created_at', 'desc')
                ->setPage(1, 12);

但它也提供不属于任何类别的产品。我只想要属于一个或多个类别的产品,而不想要不属于任何类别的产品。

我怎样才能用上面的代码做到这一点?

4

1 回答 1

0

下面的代码适用于我只显示特定的两类产品。希望它对你有用。

 $_productCollection = Mage::getModel('catalog/product')
                ->getCollection()
                ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
                ->addAttributeToSelect('*')
                ->addAttributeToFilter('category_id', array(
                        array('finset' => '7'),
                        array('finset' => '8'))
                )
                ->addAttributeToSort('created_at', 'desc');
            foreach($_productCollection as $_testproduct){
                echo $_testproduct->getId()."<br/>";

            };
于 2013-08-24T05:06:21.883 回答