0

我正在尝试用我的 Magento 实例做一些不同的事情;

我想在销售产品时增加产品的库存(在某种情况下)。我在 Magento 管理面板中添加了一个自定义复选框,当它被选中时,我希望增加产品的数量。

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

Mage_Sales_Model_Service_Quote:submitOrder()

这是一个开始寻找的好地方吗?关于这个问题的任何提示?

4

1 回答 1

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;
}

不管怎么说,还是要谢谢你 :)

于 2013-07-06T19:52:45.330 回答