Mage_CatalogInventory_Model_Stock_Item_Api Class Reference

Inheritance diagram for Mage_CatalogInventory_Model_Stock_Item_Api:

Mage_Catalog_Model_Api_Resource Mage_Api_Model_Resource_Abstract Mage_CatalogInventory_Model_Stock_Item_Api_V2

List of all members.

Public Member Functions

 __construct ()
 items ($productIds)
 update ($productId, $data)


Detailed Description

Definition at line 34 of file Api.php.


Constructor & Destructor Documentation

__construct (  ) 

Definition at line 36 of file Api.php.

00037     {
00038         $this->_storeIdSessionField = 'product_store_id';
00039     }


Member Function Documentation

items ( productIds  ) 

Definition at line 41 of file Api.php.

00042     {
00043         if (!is_array($productIds)) {
00044             $productIds = array($productIds);
00045         }
00046 
00047         $product = Mage::getModel('catalog/product');
00048 
00049         foreach ($productIds as &$productId) {
00050             if ($newId = $product->getIdBySku($productId)) {
00051                 $productId = $newId;
00052             }
00053         }
00054 
00055         $collection = Mage::getModel('catalog/product')
00056             ->getCollection()
00057             ->setFlag('require_stock_items', true)
00058             ->addFieldToFilter('entity_id', array('in'=>$productIds));
00059 
00060         $result = array();
00061 
00062         foreach ($collection as $product) {
00063             if ($product->getStockItem()) {
00064                 $result[] = array(
00065                     'product_id'    => $product->getId(),
00066                     'sku'           => $product->getSku(),
00067                     'qty'           => $product->getStockItem()->getQty(),
00068                     'is_in_stock'   => $product->getStockItem()->getIsInStock()
00069                 );
00070             }
00071         }
00072 
00073         return $result;
00074     }

update ( productId,
data 
)

Reimplemented in Mage_CatalogInventory_Model_Stock_Item_Api_V2.

Definition at line 76 of file Api.php.

00077     {
00078         $product = Mage::getModel('catalog/product');
00079 
00080         if ($newId = $product->getIdBySku($productId)) {
00081             $productId = $newId;
00082         }
00083 
00084         $product->setStoreId($this->_getStoreId())
00085             ->load($productId);
00086 
00087         if (!$product->getId()) {
00088             $this->_fault('not_exists');
00089         }
00090 
00091         if (!$stockData = $product->getStockData()) {
00092             $stockData = array();
00093         }
00094 
00095         if (isset($data['qty'])) {
00096             $stockData['qty'] = $data['qty'];
00097         }
00098 
00099         if (isset($data['is_in_stock'])) {
00100             $stockData['is_in_stock'] = $data['is_in_stock'];
00101         }
00102 
00103         if (isset($data['manage_stock'])) {
00104             $stockData['manage_stock'] = $data['manage_stock'];
00105         }
00106 
00107         if (isset($data['use_config_manage_stock'])) {
00108             $stockData['use_config_manage_stock'] = $data['use_config_manage_stock'];
00109         }
00110 
00111         $product->setStockData($stockData);
00112 
00113         try {
00114             $product->save();
00115         } catch (Mage_Core_Exception $e) {
00116             $this->_fault('not_updated', $e->getMessage());
00117         }
00118 
00119         return true;
00120     }


The documentation for this class was generated from the following file:

Generated on Sat Jul 4 17:23:48 2009 for Magento by  doxygen 1.5.8