¿Cómo obtener la cantidad de stock de cada producto en list.phtml en Magento 2?
26
Agregue el siguiente código en su list.phtmlarchivo
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$StockState = $objectManager->get('\Magento\CatalogInventory\Api\StockStateInterface');
echo $StockState->getStockQty($product->getId(), $product->getStore()->getWebsiteId());
?>
O
<?php
$stockItem = $product->getExtensionAttributes()->getStockItem();
print_r($stockItem->getQty());
?>
Como algunos comentarios han mencionado, desea utilizar la inyección de dependencia. No use el administrador de objetos; en otras palabras, no haga lo que dice ninguna de las otras respuestas. La siguiente técnica se puede aplicar en cualquier lugar. Para los bloques, configure la clase a su clase en el diseño XML, que extiende el original, e inyecte la información correcta.
Inyecte la
StockRegistryInterfaceinterfaz donde necesita acceso:Para usarlo en alguna parte:
Como referencia, Magento2 utiliza esta interfaz exacta en todo el catálogo cuando se trata de recuperar información de stock del producto.
Tenga en cuenta que cualquier cosa entre corchetes debe modificarse.
fuente
Cómo obtener la cantidad de stock de cada producto en Magento 2
para controlador o inyección de bloque \ Magento \ CatalogInventory \ Api \ StockStateInterface
y luego use la función getStockQty para obtener qty
si desea obtener la cantidad en el archivo .phtml, use
fuente
El siguiente script será útil para obtener la cantidad de stock del producto, la cantidad mínima y los detalles de stock en magento2.
fuente
Si lo desea
$productobjdespués de guardar el producto desde el lado del backend para que pueda usar fácilmente elcatalog_product_save_afterevento.Supongo que ya sabes cómo crear un módulo
M2.En este momento debe desarrollar un nuevo módulo para M2
Luego cree este
events.xmlarchivo en la ruta a continuaciónapp\code\YOUR_NAMESPACE\YOURMODULE\etc\adminhtmlY cree su archivo de observador
Productsaveafter.phpen la siguiente rutaapp \ code \ YOUR_NAMESPACE \ YOURMODULE \ Observer \
fuente