2013-07-06 141 views
0

我試圖讓我的Magento實例有所不同;增加銷售產品庫存

我想在銷售產品時增加產品的庫存(在特定條件下)。我在Magento管理面板中添加了一個自定義複選框,當它被選中時,我希望增加產品的數量。

我目前正在研究以下方法:

Mage_Sales_Model_Service_Quote:submitOrder() 

它是一個良好的開端在看什麼?有關這個問題的任何提示?

回答

0

我想我已經達到了我想要的。

我在Mage_Sales_Model_Service_Quote:submitOrder()

... 
    // $mySpecialCondition = form.checkbox 
    foreach ($quote->getAllItems() as $item) { 
     if($mySpecialCondition){ 
      $item->setQty(0 - $item->getQty(), true); 
     } 
    ... 

添加以下行也改變了方法Mage_Sales_Model_Quote_Item:_prepareQty接受負值:

protected function _prepareQty($qty, $ignoreValue = false) 
{ 
    $qty = Mage::app()->getLocale()->getNumber($qty); 
    if(!$ignoreValue){ 
     $qty = ($qty > 0) ? $qty : 1; 
    } 
    return $qty; 
} 

不管怎樣,謝謝:)

+1

這不是一個好辦法去解決它,嘗試使用一個事件/觀察者 – Andrew

+0

謝謝@Andrew我會試試看。 – MatheusJardimB

+1

看看sales_order_place_after事件,有幾個設置觀察者的例子。這將是一個更好的解決方案,而不是觸摸任何核心代碼。 – Andrew