コード例 #1
0
ファイル: Nitems.php プロジェクト: AleksNesh/pandora
 /** 
  * Adds new items to order
  * @param TinyBrick_OrderEdit_Model_Order $order
  * @param array $data
  * @return boolean
  */
 public function edit(TinyBrick_OrderEdit_Model_Order $order, $data = array())
 {
     $comment = "";
     if ($data['simplesku']) {
         $producttype = 'simplesku';
     } else {
         $producttype = 'sku';
     }
     foreach ($data[$producttype] as $key => $sku) {
         $qty = $data['qty'][$key];
         $product = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('sku', $sku)->addAttributeToSelect('*')->getFirstItem();
         $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
         $stockItem->subtractQty($qty);
         $stockItem->save();
         $quoteItem = Mage::getModel('sales/quote_item')->setProduct($product)->setQuote(Mage::getModel('sales/quote')->load($order->getQuoteId()));
         //$quoteItem->setOptions(array(501=>36, 502=>41));
         $orderItem = Mage::getModel('sales/convert_quote')->itemToOrderItem($quoteItem)->setProduct($product);
         $productPrice = $data['price'][$key];
         //$options = array(501=>36, 502=>41);
         //$orderItem->setProductOptions($options);
         //$orderItem->addAttribute($options);
         $orderItem->setPrice($productPrice);
         $orderItem->setBasePrice($productPrice);
         $orderItem->setBaseOriginalPrice($productPrice);
         $orderItem->setOriginalPrice($productPrice);
         $orderItem->setQtyOrdered($qty);
         if ($data['discount'][$key]) {
             $orderItem->setDiscountAmount($data['discount'][$key]);
         } else {
             $orderItem->setDiscountAmount(0);
         }
         $orderItem->setOrderId($order->getId());
         $orderItem->setOrder($order);
         $orderItem->save();
         $order->addItem($orderItem);
         $order->save();
         $comment .= "Added item(SKU): " . $sku . "<br />";
     }
     if ($comment != "") {
         $comment = "Added new items:<br />" . $comment;
         return $comment;
     }
     return true;
 }