0
nicht aktualisiert
Ich benutze Ubercart 3 mit Drupal 7. Ich möchte benutzerdefinierte Werbebuchung für zusätzliche Bearbeitungsgebühren erstellen. Der folgende Code funktioniert einwandfrei, aber die zusätzliche Bearbeitungsmenge wird nicht mit der Summe addiert, sondern mit der Zwischensumme addiert.Gesamtauftrag für die benutzerdefinierte Werbebuchung
Was mache ich falsch?
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;
}
}