Wie bekomme ich die Lagermenge jedes Produkts in der Datei list.phtml in Magento 2?
26
Fügen Sie folgenden Code in Ihre list.phtml
Datei ein
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$StockState = $objectManager->get('\Magento\CatalogInventory\Api\StockStateInterface');
echo $StockState->getStockQty($product->getId(), $product->getStore()->getWebsiteId());
?>
ODER
<?php
$stockItem = $product->getExtensionAttributes()->getStockItem();
print_r($stockItem->getQty());
?>
Wie in einigen Kommentaren bereits erwähnt, möchten Sie die Abhängigkeitsinjektion verwenden. Verwenden Sie nicht den Objektmanager. Mit anderen Worten, tun Sie nicht, was in den anderen Antworten angegeben ist. Die folgende Technik kann überall angewendet werden. Setzen Sie für Blöcke die Klasse in Layout-XML auf Ihre Klasse, wodurch das Original erweitert wird, und fügen Sie die richtigen Informationen ein.
Fügen Sie die
StockRegistryInterface
Schnittstelle ein, auf die Sie Zugriff benötigen:Um es irgendwo zu benutzen:
Als Referenz verwendet Magento2 genau diese Schnittstelle im gesamten Katalog, um Produktinformationen abzurufen.
Beachten Sie, dass alles in eckigen Klammern geändert werden muss.
quelle
So erhalten Sie die Lagerbestandsmenge der einzelnen Produkte in Magento 2
Für Controller oder Block Inject \ Magento \ CatalogInventory \ Api \ StockStateInterface
Verwenden Sie dann die Funktion getStockQty, um die Menge abzurufen
Wenn Sie die Menge in einer .phtml-Datei erhalten möchten, verwenden Sie
quelle
Das folgende Skript hilft Ihnen dabei, die Lagermenge, die Mindestmenge und die Lagerdetails in magento2 zu ermitteln.
quelle
Wenn Sie
$productobj
das Produkt nach dem Speichern von der Back-End-Seite, so können Sie einfachcatalog_product_save_after
Event verwenden.Ich gehe davon aus, dass Sie bereits wissen, wie man ein Modul erstellt
M2
.Im Moment müssen Sie ein neues Modul für M2 entwickeln
Dann erstellen Sie diese
events.xml
Datei im folgenden Pfadapp\code\YOUR_NAMESPACE\YOURMODULE\etc\adminhtml
Und erstellen Sie Ihre Beobachterdatei
Productsaveafter.php
unter folgendem Pfadapp \ code \ YOUR_NAMESPACE \ YOURMODULE \ Observer \
quelle