如何在magento中通过产品id获取产品可用性?

发布于 2024-10-31 17:32:23 字数 43 浏览 0 评论 0原文

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

Is it possible to get product availability by passing a product ID to the Magento system?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

孤千羽 2024-11-07 17:32:23

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

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

To fetch the quantity (in stock) for any given product

$model = Mage::getModel('catalog/product'); 
$_product = $model->load($product_id); 
$stocklevel = (int)Mage::getModel('cataloginventory/stock_item')
                ->loadByProduct($_product)->getQty();
土豪 2024-11-07 17:32:23

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

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

然后您可以使用 getQty() 和其他方法$stockItem 对象来获取所需信息。您可以在该类的源文件中找到它们

You can get stock info (Mage_CatalogInventory_Model_Stock_Item class) by product's ID without loading whole product data (at least in Magento 1.7)

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

And then you can use getQty() and other methods on $stockItem object to get required info. You can find them in the source file for the class

只等公子 2024-11-07 17:32:23

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

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

For collection 的方法之一是

 $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);
        }

For some types of products zero qty of product doesn't mean it's out of stock. Then you can use

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

For collection one of the ways is

 $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);
        }
—━☆沉默づ 2024-11-07 17:32:23

Magento 1.7

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

也应该可以工作

Magento 1.7

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

Should work too

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文