Türchen 07: Magento Lagerbestand aktualisieren

Türchen 07 ist ein Lagerbestands-Türchen. So ist es eine häufige Anforderungen Lagerbestände in regelmäßigen Abständen aktuell zu halten. Mit Magento in der Regel gar kein Problem.

Zuerst gilt es das richtige Produkt mittels Magento-Product-Model zu finden.

$arnr = '1234';
$product = Mage::getModel("catalog/product");
$product->load( $product->getIdBySku( $arnr ) );

Danach können wir mit zwei Wegen unseren Lagerbestand aktualisieren. Im ersten Beispiel gehen wir direkt über das Product-Model:

$bestand = 10;
if ( $product->getId() ) {
	$product->setStockData( array(
			'is_in_stock' => ( $bestand > 0 ? 1 : 0 ),
			'qty' => $bestand
		)
	);					
	$product->save();
}

Das zweite Beispiel ist zum Speichern des Lagerbestandes ein wenig schneller als das erste Beispiel. Hier benutzen wir direkt das Stock-Item-Model:

if ( $product->getId() ) {

	$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct( $product->getId() );

	if ( !$stockItem->getId() ) {
		// Falls noch kein Lagerbestand besteht
		$stockItem->setProduct( $product );
	}

	$stockItem->setQty($bestand);
	$stockItem->setData('is_in_stock',( $bestand > 0 ? 1 : 0 ));

	$stockItem->save();
	
}

Vielen Dank an Damian für das zweite Beispiel.



Ein Beitrag von Tobias Vogt
Tobias's avatar

Tobias Vogt arbeitet seit 2008 mit Magento und ist seit 2011 durch Magento zertifizierter Entwickler. Seit 2016 ist er Mitgründer und CTO bei der connect-io GmbH, einer Magento-Agentur mit Sitz im idyllischen Paderborn-Salzkotten. Er gehört zum Gründer-Team der Webguys und ist seit November 2011 Bachelor of Science (Wirtschaftsinformatik). Sie erreichen Ihn per E-Mail unter tobi@webguys.de.

Alle Beiträge von Tobias

Kommentare
Michael am

...und wo kommt der code dann hinein?

Dein Kommentar