是否可以通过将产品ID传递给Magento系统来获得产品可用性?
答案 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();
也应该工作