获取产品库存信息意味着您可以获取一些详细信息,例如最小数量(min_qty),最小销售数量(min_sale_qty),最大销售数量(max_sale_qty),检查产品是否有库存(is_in_stock),缺货等在Magento 2中,在线商店需要获取库存变化数据进行定期跟踪,这可以帮助他们做出未来的业务决策。

在 Magento 2 中获取产品库存信息的 2 个步骤

  • 第 1 步:声明获取产品库存信息的命令
  • 第 2 步:在模板文件中加载产品 id 和 sku

步骤1:声明获取产品库存信息的命令

首先,您将使用 module 的块类Example_HelloWorld,然后可能将类的对象注入\Magento\CatalogInventory\Model\Stock\StockItemRepository到模块的块类的构造函数中。

app/code/Example/HelloWorld/Block/HelloWorld.php

<?php
namespace Example\HelloWorld\Block;
class HelloWorld extends \Magento\Framework\View\Element\Template
{    
    protected $_stockItemRepository;
        
    public function __construct(
        \Magento\Backend\Block\Template\Context $context,        
        \Magento\CatalogInventory\Model\Stock\StockItemRepository $stockItemRepository,
        array $data = []
    )
    {
        $this->_stockItemRepository = $stockItemRepository;
        parent::__construct($context, $data);
    }
    
    public function getStockItem($productId)
    {
        return $this->_stockItemRepository->get($productId);
    }
}
?>

第 2 步:在模板文件中加载产品 id 和 sku

接下来,请使用以下脚本通过模板文件中的id 和 sku 加载产品。

$id = 123;
$_productStock = $block->getStockItem($id);
//print_r($_productStock->getData()); 
echo $_productStock->getQty(); echo '<br />';
echo $_productStock->getMinQty(); echo '<br />';
echo $_productStock->getMinSaleQty(); echo '<br />';
echo $_productStock->getMaxSaleQty(); echo '<br />';
echo $_productStock->getIsInStock(); echo '<br />';