2013-08-24 81 views
0

我目前有類別和不屬於任何類別的產品。下面這段代碼會給我所有最近添加的產品在Magento:在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); 

但它也給那些沒有在任何類別的產品。我只需要一個或多個類別的產品,但不包含任何類別的產品。

我如何用上面的代碼做到這一點?

+0

您是否找到任何解決方案?如果你發現任何解決方案,你可以分享它。 – monojit

回答

0

下面的代碼適用於我只顯示特定的兩個類別products.Hope它將爲你工​​作。

$_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/>"; 

      }; 
相關問題