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