如何通过magento获得产品ID的产品可用性?

时间:2011-04-12 07:41:02

标签: magento

是否可以通过将产品ID传递给Magento系统来获得产品可用性?

4 个答案:

答案 0 :(得分:28)

获取任何给定产品的数量(库存)

$model = Mage::getModel('catalog/product'); 
$_product = $model->load($product_id); 
$stocklevel = (int)Mage::getModel('cataloginventory/stock_item')
                ->loadByProduct($_product)->getQty();

答案 1 :(得分:17)

您可以按产品ID获取库存信息(Mage_CatalogInventory_Model_Stock_Item类),而无需加载整个产品数据(至少在Magento 1.7中)

$stockItem = Mage::getModel('cataloginventory/stock_item')
               ->loadByProduct($productId);

然后您可以在getQty()对象上使用$stockItem和其他方法来获取所需信息。您可以在类

的源文件中找到它们

答案 2 :(得分:6)

对于某些类型的产品,零数量的产品并不意味着它缺货。然后你可以使用

 $stockStatus = Mage::getModel('cataloginventory/stock_item') 
                     ->loadByProduct($product)
                     ->getIsInStock();

对于收集方式之一是

 $collection = Mage::getModel('catalog/product')->getCollection()
                ->addAttributeToFilter('status', 1)
                ->addFieldToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
                ->addAttributeToSelect('*'); 



        if (! Mage::helper('cataloginventory')->isShowOutOfStock()) {
           Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);
        }

答案 3 :(得分:2)

Magento 1.7

$product = Mage::getModel('catalog/product')->load($productId);
$qty = $product->getStockItem()->getQty();

也应该工作