在magento中以编程方式创建订单时,按交货价格添加现金

时间:2014-07-01 05:20:12

标签: php magento

我创建了一个在magento中创建顺序的模块。一切都很好。现在我想在订单上添加现金交货价格。当我通过magento默认模块创建订单时,它会在管理面板中的订单详细信息页面的订单总计列中添加一行。我可以找到管理员设置的货到付款价格并将其添加到Grand Total。但目前没有显示额外的金额是货到付款。任何人都可以告诉我在管理面板订单详细信息页面中添加此选项的功能。

当sales_flat_order表的cod_fee列中有值时,我发现它显示COD费用。是否有任何插入cod_fee值的函数。

1 个答案:

答案 0 :(得分:0)

我发现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();
            }
        }