How to get product backorders status in Magento 2?

You can know the Backorders status of the Product using Magento 2 by Product object.

First Load Product Object by product id or SKU. Now Fetch the extension attributes value of the Stock item from the Product object.

You can retrieve the value of the status of the backorders by Magento 2 with a return available value of 0, 1 and 2. Continue reading “How to get product backorders status in Magento 2?”

How to get product small image url in Magento 2?

Get Product Small Image Url Using Product id. You can retrieve small_image Url of the product.

You need to instantiate the ImageFactory to load image objects using Magento\Catalog\Helper\ImageFactory. Continue reading “How to get product small image url in Magento 2?”

How to get stock status by SKU Magento 2?

Magento 2, You can get stock status by Product SKU. If you want to load Stock details using SKU, you can get the details of the Stock related information.

You need to use Magento\CatalogInventory\Model\StockRegistry to fetch stock status.

Using Stock Status Data, You can get the stock related info at the Website level, Stock is in stock, Backorder status, Qty, ProductId, Min. Qty, Manage Stock and many other stock field data.

<?php
namespace Jesadiya\StockStatus\Model;

use Psr\Log\LoggerInterface;
use Magento\Store\Model\StoreManagerInterface;
use Magento\CatalogInventory\Model\StockRegistry;

class StockStatus
{
    /** @var LoggerInterface */
    protected $logger;

    /**
     * @var StoreManagerInterface
     */
    private $storeManager;

    /**
     * @var StockRegistry
     */
    private $stockRegistry;

    public function __construct(
        LoggerInterface $logger,
        StoreManagerInterface $storeManager,
        StockRegistry $stockRegistry,
    ) {
        $this->logger = $logger;
        $this->stockRegistry = $stockRegistry;
        $this->storeManager = $storeManager;
    }

    /**
     * country full name
     *
     * @return string
     */
    public function getStockStatus($sku)
    {
        $stockData = null;
        try {
            $stockStatus = $this->stockRegistry->getStockStatusBySku(
                $sku,
                $this->storeManager->getWebsite()->getId()
            );

            $stockData = $stockStatus->getStockItem();

        } catch (\Exception $exception) {
            $this->logger->error($exception->getMessage());
        }
        return $stockData;
    }
}

Get the stock status using SKU value as a method parameter,

$sku = '111A1234';
$stockData = $this->getStockStatus($sku);
var_dump($stockData->debug());

When you debug the Stock data you got all the required information of the Product Stock.