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

标签 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()); ?>

此外,延期交货功能已解决,因此我们可以将缺货产品添加到购物车中。

最佳答案

我曾尝试通过全面搜索整个 channel 来获得结果,但我没有得到合适的解决方案。

经过几个小时的调试和调查供应商 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"

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

关于php - 如何在 Magento 2 中以编程方式从产品信息中获取延期交货状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44419558/

相关文章:

callback - Twilio 总是在 statuscallback 中返回 callstatus 为 'completed'

c - wait 函数和 wexitstatus 中的状态值

php - 从 PHP 将数据集传递给 JavaScript 验证

html - Magento 2 - 更改核心代码 css/html 未反射(reflect)在前端

magento2 - 通过magento 2中的产品属性组获取产品属性

compiler-errors - magento 2.0.18类Magento\Framework\Intl\NumberFormatterFactory不存在

c# - 使用 C# 更新 facebook 状态

php - 将 PHP 变量字符串插入内联字符串不起作用

Visual Studio 代码中的 PHPCS 设置

php - 使用 Ajax、哈希 URL 或直接 URL 或两者时,什么最适合 SEO?