Как получить количество на складе каждого продукта в list.phtml в Magento 2?
26
Добавьте ниже код в вашем list.phtml
файле
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$StockState = $objectManager->get('\Magento\CatalogInventory\Api\StockStateInterface');
echo $StockState->getStockQty($product->getId(), $product->getStore()->getWebsiteId());
?>
ИЛИ
<?php
$stockItem = $product->getExtensionAttributes()->getStockItem();
print_r($stockItem->getQty());
?>
Как уже упоминалось в некоторых комментариях, вы хотите использовать внедрение зависимостей. Не используйте менеджер объектов; другими словами, не делайте то, что говорится в других ответах. Следующая техника может применяться где угодно. Для Блоков установите класс для своего класса в макете XML, который расширяет оригинал и вводит правильную информацию.
Введите
StockRegistryInterface
интерфейс, где вам нужен доступ:Чтобы использовать это где-то:
Для справки, Magento2 использует этот точный интерфейс по всему каталогу, когда дело доходит до получения информации о наличии товара.
Обратите внимание, что все, что в квадратных скобках, должно быть изменено.
источник
Как получить количество на складе каждого продукта в Magento 2
для ввода контроллера или блока \ Magento \ CatalogInventory \ Api \ StockStateInterface
а затем использовать функцию getStockQty, чтобы получить кол-во
если вы хотите получить количество в файле .phtml, используйте
источник
Нижеприведенный скрипт поможет получить количество товара, минимальное количество и информацию о складе в magento2.
источник
Если вы хотите
$productobj
после сохранения продукта со стороны сервера, чтобы вы могли легко использоватьcatalog_product_save_after
событие.Я предполагаю, что вы уже знаете, как создать модуль в
M2
.Сейчас вам нужно разработать новый модуль для M2
Затем создайте этот
events.xml
файл по пути нижеapp\code\YOUR_NAMESPACE\YOURMODULE\etc\adminhtml
И создайте свой файл наблюдателя
Productsaveafter.php
по пути нижеApp \ код \ YOUR_NAMESPACE \ YOURMODULE \ Observer \
источник