Как программно получить статус заказа из информации о продукте в 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()); ?>

Кроме того, была добавлена ​​функция возврата заказа, чтобы мы могли добавлять товары со склада в корзину.

0

Решение

Я пытался получить результат путем полного поиска целых каналов, но я не нашел правильного решения.

После нескольких часов отладки и исследования структур 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

который я должен определить статус заказываемых продуктов.

Наконец, я мог получить 0, 1, 2 значения в соответствии с 3 статусами отставаний.

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

Это поможет многим разработчикам, которые создают новые модули или настраивают темы с его эффективностью.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]