【发布时间】:2016-07-25 00:42:42
【问题描述】:
我正在使用 ubercart 3 和 drupal 7。我想创建自定义订单项以收取额外的手续费。下面的代码工作正常,但额外的处理量没有添加到总数中,而是添加到了小计中。
我做错了什么?
function mycustom_uc_order($op, $order, $arg2) {
switch ($op) {
case 'save':
$package_lineitem_id = $ups_charges = $package_lineitem_index = '';
$line_items = uc_order_load_line_items($order);
foreach ($line_items as $key => $line_item) {
if ($line_item['type'] == 'shipping' && $line_item['amount'] != '') {
$ups_charges = $line_item['line_item_id'];
} elseif($line_item['type'] == 'custom_package_charges'){
$package_lineitem_id = $line_item['line_item_id'];
$package_lineitem_index = $key;
}
}
$pack_charges = 5;
// If packaging charges line item exists update else create a new one
if(empty($package_lineitem_id)){
$order->line_items[] = uc_order_line_item_add($order->order_id, 'custom_package_charges', 'Additional Handling Charges for Packaging', $pack_charges,5);
} else {
uc_order_update_line_item($package_lineitem_id, 'Additional Handling Charges for Packaging', $pack_charges);
$order->line_items[$package_lineitem_index]['amount'] = $pack_charges;
}
break;
}
}
【问题讨论】:
标签: drupal drupal-7 drupal-modules ubercart