2014-01-31 34 views
1

我在Magento中過濾類別時遇到了一些問題。我使用的過濾方法,只顯示一個類別,但我需要顯示更多。這裏是我的代碼:在Magento中過濾多個類別的產品

$products = Mage::getModel('catalog/product')->getCollection(); 
$products->joinField(
    'qty', 
    'cataloginventory/stock_item', 
    'qty', 
    'product_id=entity_id', 
    '{{table}}.stock_id=1', 
    'left' 
); 
$products->addAttributeToFilter('qty', array('neq' => 0)); 
$products->addAttributeToFilter('type_id','simple'); 
$products->addAttributeToFilter('status', 1); 
$products->addAttributeToFilter('visibility', 4); 
$products->addAttributeToSelect('sku'); 
$products->addAttributeToSelect('name'); 
$products->addAttributeToSelect('description'); 
$products->addAttributeToSelect('short_description'); 
$products->addAttributeToSelect('url'); 
$products->addAttributeToSelect('image'); 
$products->addAttributeToFilter('price', array('gt' => 250)); 
$products->addAttributeToSelect('special_price'); 
$products->addAttributeToSelect('manufacturer'); 

$products->addCategoryFilter(Mage::getModel('catalog/category')->load(array('32,5')),true); 

該代碼只顯示產品從id=32。不顯示類別id=5的產品。

感謝您的任何幫助。

我的Magento的版本是1.6.2

+0

這個問題似乎是題外話,因爲它是具體的關於Magento的&因此更適合在http://magento.stackexchange。 com – Rikesh

+0

對不起,我將此問題轉移到magento部分 – Adrian

回答

3

試試這個

$products = Mage::getModel('catalog/product')->getCollection(); 
$products->joinField(
    'qty', 
    'cataloginventory/stock_item', 
    'qty', 
    'product_id=entity_id', 
    '{{table}}.stock_id=1', 
    'left' 
); 
$products->addAttributeToFilter('qty', array('neq' => 0)); 
$products->addAttributeToFilter('type_id','simple'); 
$products->addAttributeToFilter('status', 1); 
$products->addAttributeToFilter('visibility', 4); 
$products->addAttributeToSelect('sku'); 
$products->addAttributeToSelect('name'); 
$products->addAttributeToSelect('description'); 
$products->addAttributeToSelect('short_description'); 
$products->addAttributeToSelect('url'); 
$products->addAttributeToSelect('image'); 
$products->addAttributeToFilter('price', array('gt' => 250)); 
$products->addAttributeToSelect('special_price'); 
$products->addAttributeToSelect('manufacturer'); 
$products->joinField('category_id', 
    'catalog/category_product', 
    'category_id', 
    'product_id=entity_id', 
    null, 
    'left' 
); 
$products->addAttributeToFilter('category_id', array('in' => array(32,5))); 
foreach ($products as $product) { 

} 
+0

此顯示器僅限產品來自id = 5 – Adrian

+0

答覆已更新。 –

+0

不幸的是沒有工作 - 我有空白頁。原因是後代碼foreach($產品爲$ product){...} – Adrian

相關問題