2017-06-07 29 views
0

如何通过编程获得产品信息的延期交货状态?如何从Magento 2中以编程方式获取产品信息的延期交货状态

现在产品信息已经准备好作为$ _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()); ?> 

此外,延期交货功能已经结算,因此我们可以在购物车上添加缺货产品。

回答

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 

,我应该确定backorderable产品的状态这一部分。

最后,根据缺货订单的3种状态,我可以得到0,1,2的值。

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

这将帮助许多开发人员创建新模块或以其效率定制主题。

相关问题