如何在 Magento 2 中以编程方式从产品信息中获取延期交货状态
How to get backorder status from product information programmatically in 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()); ?>
此外,延期交货功能已解决,因此我们可以将缺货产品添加到购物车。
我曾尝试通过全面搜索整个频道来获得结果,但我没有找到合适的解决方案。
经过几个小时的调试和调查供应商 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"
这将帮助许多开发人员以其效率创建新模块或自定义主题。
如何以编程方式从产品信息中获取延期交货状态?
现在产品信息已经准备好了$_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()); ?>
此外,延期交货功能已解决,因此我们可以将缺货产品添加到购物车。
我曾尝试通过全面搜索整个频道来获得结果,但我没有找到合适的解决方案。
经过几个小时的调试和调查供应商 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"
这将帮助许多开发人员以其效率创建新模块或自定义主题。