Igo*_*nko 4 product status magento2
我将以编程方式获取产品的启用/禁用状态。现在,我们通过此代码获得了产品实例。
<?php $_product = $_item->getProduct(); ?>
Run Code Online (Sandbox Code Playgroud)
另外,使用下面的代码部分,我们可以获得产品的库存信息。
<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$StockState = $objectManager->get('\Magento\CatalogInventory\Api\StockStateInterface');
$product_is_stock = $StockState->getStockQty($_product->getId(), $_product->getStore()->getWebsiteId()); ?>
Run Code Online (Sandbox Code Playgroud)
但是,有什么解决方案可以在Magento 2.1上从$ _product获取产品状态吗?
经过几个小时的调试,我得到了一个很好的解决方案。
<?php $_product = $_item->getProduct();
$product_status = $_product->getStatus();
Run Code Online (Sandbox Code Playgroud)
在我的示例中,我使用$ _product-> getStatus()停用了产品的状态作为值。
<?php if (($product_is_stock == 0) || ($_product->getStatus() == 2)): ?>
Run Code Online (Sandbox Code Playgroud)
为了确认此操作,我使用了这些sql命令来停用产品。
SELECT entity_id FROM `catalog_product_entity_int`
WHERE attribute_id = (
SELECT attribute_id FROM `eav_attribute`
WHERE `attribute_code` LIKE 'status'
) AND `catalog_product_entity_int`.value = 2
Run Code Online (Sandbox Code Playgroud)
最后,我确认停用的产品状态仅为2,而不是0。
启用产品的状态仅为1。
希望我的示例对许多开发人员有所帮助。
| 归档时间: |
|
| 查看次数: |
4957 次 |
| 最近记录: |