如何在Magento 2中以编程方式从产品信息中获取延期交货状态

时间:2017-06-07 17:49:06

标签: php magento2 status stock

如何以编程方式从产品信息中获取延期交货状态?

现在产品信息已准备好 $ _ product ,我们也可以通过此代码获取库存状态。

<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
     $StockState = $objectManager->get('\Magento\CatalogInventory\Api\StockStateInterface');
     $product_is_stock = $StockState->getStockQty($_product->getId(), $_product->getStore()->getWebsiteId()); ?>

此外,延期交货功能已经解决,因此我们可以在购物车上添加库存产品。

1 个答案:

答案 0 :(得分:2)

我试图通过全搜索整个频道获得结果,但我没有得到正确的解决方案。

在几个小时后调试和调查供应商API结构后,我自己得到了正确的答案。 这是 Magento 2.1.5,2.1.7 的证明答案。

$obj = \Magento\Framework\App\ObjectManager::getInstance();  
$stockRegistry = $obj->get('Magento\CatalogInventory\Api\StockRegistryInterface');
$stockitem = $stockRegistry->getStockItem($_product->getId(),$_product->getStore()->getWebsiteId());
echo "Backorder: "; echo $stockitem->getBackorders(); echo '<br>';

我在

上添加了这部分内容
app\design\frontend\[vendor]\[theme]\Amasty_Cart\templates\rightside\cart.phtml 
app\design\frontend\[vendor]\[theme]\Magento_Checkout\templates\cart\form.phtml

我应该确定可退货产品的状态。

最后,我可以根据延期交货的3个状态获得0,1,2个值。

0: "No Backorders"
1: "Allow Qty Below 0 "
2: "Allow Qty Below 0 and Notify Customer"

这将有助于许多开发人员创建新模块或自定义主题效率。