Public Member Functions | |
__construct () | |
items ($productIds) | |
update ($productId, $data) |
Definition at line 34 of file Api.php.
__construct | ( | ) |
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 }