0
我試圖讓我的Magento實例有所不同;增加銷售產品庫存
我想在銷售產品時增加產品的庫存(在特定條件下)。我在Magento管理面板中添加了一個自定義複選框,當它被選中時,我希望增加產品的數量。
我目前正在研究以下方法:
Mage_Sales_Model_Service_Quote:submitOrder()
它是一個良好的開端在看什麼?有關這個問題的任何提示?
我試圖讓我的Magento實例有所不同;增加銷售產品庫存
我想在銷售產品時增加產品的庫存(在特定條件下)。我在Magento管理面板中添加了一個自定義複選框,當它被選中時,我希望增加產品的數量。
我目前正在研究以下方法:
Mage_Sales_Model_Service_Quote:submitOrder()
它是一個良好的開端在看什麼?有關這個問題的任何提示?
我想我已經達到了我想要的。
我在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;
}
不管怎樣,謝謝:)
這不是一個好辦法去解決它,嘗試使用一個事件/觀察者 – Andrew
謝謝@Andrew我會試試看。 – MatheusJardimB
看看sales_order_place_after事件,有幾個設置觀察者的例子。這將是一個更好的解決方案,而不是觸摸任何核心代碼。 – Andrew