在用magento编程创建订单时,在交货价格上添加现金


Add cash on delivery price while creating the order programatically in magento

我已经创建了一个模块,创建订单在magento。一切正常。现在我想在订单中加上货到付款的价格。当我通过magento默认模块创建订单时,它在管理面板的订单详细信息页面的订单总数列中添加了一行。我能够找到现金交付价格设置的管理,并将此添加到总。但目前并没有显示额外的金额是货到付款。有谁能告诉我在管理面板订单详细信息页面中添加这个选项的功能吗?

我发现当sales_flat_order表的cod_fee列有值时显示COD Fee。是否有插入cod_fee值的函数

我发现cod_fee是sales_flat_order表中的自定义列。在创建订单时,我无法找到任何函数或方式将数据插入此列。因此,我在创建订单后更新该行。我使用的代码是

if($paymentMethodId == "cashondelivery") {
            $data = array('cod_fee'=>$cashOnDeliveryRate,'base_cod_fee' => $cashOnDeliveryRate);
            $myOrder = Mage::getModel('sales/order')->loadByIncrementId($reservedOrderId);
            $myOrder->addData($data);
            try {
                $myOrder->save();
            } catch (Exception $e){
                echo $e->getMessage();
            }
        }