/** * set stock */ public function setStock() { /** @var Mage_CatalogInventory_Model_Stock_Item $stockItem */ $stockItem = $this->item->getStockItem(); $stock = new Shopgate_Model_Catalog_Stock(); $useStock = false; if ($stockItem->getManageStock()) { switch ($stockItem->getBackorders() && $stockItem->getIsInStock()) { case Mage_CatalogInventory_Model_Stock::BACKORDERS_YES_NONOTIFY: case Mage_CatalogInventory_Model_Stock::BACKORDERS_YES_NOTIFY: break; default: $useStock = true; break; } } $stock->setUseStock((int) $useStock); if ($stock->getUseStock()) { $stock->setIsSaleable((int) $this->item->getIsSalable()); } else { $stock->setIsSaleable(1); } $stock->setBackorders((int) $stockItem->getBackorders()); $stock->setMaximumOrderQuantity((int) $stockItem->getMaxSaleQty()); $stock->setMinimumOrderQuantity((int) $stockItem->getMinSaleQty()); if (method_exists($stockItem, 'getStockQty')) { $stockQuantity = $stockItem->getStockQty(); } else { $stockQuantity = $this->_getExportHelper()->getParentStockQuantity($this->item); } $stock->setStockQuantity((int) $stockQuantity); $stock->setAvailabilityText($this->_getExportHelper()->getAvailableText($this->item, $this->_getConfig()->getStoreViewId())); parent::setStock($stock); }