2017-06-07 28 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" 

這將幫助許多開發人員創建新模塊或以其效率定製主題。

相關問題