Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($products);
把一個過濾器,並顯示其有庫存的產品,但始終顯示配置的產品,即使他們都脫銷的(因爲他們總是在股票,但isSaleable得到假時,他們的相關產品)因此,如何在產品集合上應用IsSaleable過濾器? (能不能直接做了一個產品集合,而不遍歷集合。 缺貨意味着庫存結束。Magento- issaleable過濾
Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($products);
把一個過濾器,並顯示其有庫存的產品,但始終顯示配置的產品,即使他們都脫銷的(因爲他們總是在股票,但isSaleable得到假時,他們的相關產品)因此,如何在產品集合上應用IsSaleable過濾器? (能不能直接做了一個產品集合,而不遍歷集合。 缺貨意味着庫存結束。Magento- issaleable過濾
後
Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($products);
做
$products->addAttributeToFilter('is_saleable', TRUE);
應該工作。
謝謝。 http://stackoverflow.com/questions/5301841/filtering-product-collection-on-is-salable 沒有這樣的過濾器。我需要一些方法來過濾出可配置的產品 – sushantsahay
這應該給你只是目錄中可見的簡單的庫存產品。
$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToFilter('status', 1); // enabled
$products->addAttributeToFilter('type_id', 'simple');
//$products->addAttributeToFilter('sku', array('1234')); //for testing purposes
$products->addAttributeToSelect('*');
Mage::getSingleton('catalog/product_status')->addSaleableFilterToCollection($products);
Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($products);
$prodIds = $products->getAllIds();
addSaleableFilterToCollection函數已被標記爲不推薦使用,並且是一個空的存根(stub) - 它什麼也不做,據我所知,它從來沒有做過。 –
正是我需要的 – FosAvance
不太某些關於你問,但你可能想看看(至少)在'Mage_Adminhtml_Block_Catalog_Product_Grid :: _ prepareCollection()' – benmarks
$產品=法師:: getResourceModel( '報告/ product_collection') - > setStoreId($ this-> getStoreId()) - > addAttributeToSelect('*') - > addOrderedQty() - > setOrder('ordered_qty','desc'); Mage :: getSingleton('cataloginventory/stock') - > addInStockFilterToCollection($ products); 我想過濾這個產品集合顯示的項目是在股票,AddInStockFilterCollection工程,但失敗的可配置產品,所以他們需要被另一個過濾器刪除ISSaleable,我該怎麼做? – sushantsahay