2017-06-16 22 views
2

這裏是我的產品集合,任何人都可以幫助從產品集合中獲取我的庫存狀態。如何從magento中的產品集合中獲取庫存狀態

$collection = Mage::getModel('catalog/category') 
       ->load($categoryId) 
       ->getProductCollection() 
       ->addAttributeToSelect('*') 
       ->addAttributeToFilter('visibility', array(
Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH, 
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG)); 
return $collection; 

回答

1
$collection = Mage::getModel('catalog/category') 
       ->load($categoryId) 
       ->getProductCollection() 
       ->addAttributeToSelect('*') 
       ->joinField('qty','cataloginventory/stock_item','qty','product_id=entity_id','{{table}}.stock_id=1','left')   
       ->addAttributeToFilter('visibility', array(
Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH, 
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG)); 
    return $collection; 

在這裏你可以做這樣的

您必須添加連接字段爲庫存物品->joinField('qty','cataloginventory/stock_item','qty','product_id=entity_id','{{table}}.is_in_stock=1','left')

+0

讓我看一下這個 –

+1

好的,謝謝你這麼多先生的幫助。它工作正常。 :) –

0

庫存狀況(is_in_stock)是每一個產品系列的一部分。

foreach ($collections as $product) { 
    echo $product->getStockItem()->getIsInStock(); 
} 

返回1是否有現貨,其他null

如果需要其他股票信息一樣min_qtybackorders您可以添加到您的收藏:

$collection->setFlag('require_stock_items', true); 
相關問題