Ein kleiner Schuss ins Blaue (nicht updatesicher und nicht getestet):
Erweitere deine DB-Tabelle
orders wie folgt:
ALTER TABLE `orders` ADD `orders_shipping_weight` DECIMAL(15,4) NOT NULL AFTER `shipping_class`;
Und füge in der Datei /checkout_process.php im
$sql_data_array nach
'shipping_class' => $order->info['shipping_class'],
noch folgendes hinzu:
'orders_shipping_weight' => $_SESSION['cart']->weight+SHIPPING_BOX_WEIGHT,
SHIPPING_BOX_WEIGHT ist das zusätzliche Paket-Leergewicht, welches im Shop unter
Konfiguration >
Versand Optionen definiert wird.
Nun wird dir das (Gesamt-)Gewicht bei der Bestellung in die Datenbank geschrieben.
Am Ende der Datei wird dann die send_order.php eingebunden. Ich gehe davon aus, dass wir mit dem neuen Feld schon arbeiten können, zumindest lässt das vorherige
xtc_db_perform(TABLE_ORDERS, $sql_data_array) darauf schließen, dass die Datenbankeinträge schon geschrieben sind.
Um nicht noch eine Core-Datei (class:order.php) anfassen zu müssen, versuchen wir mal den Weg "hintenrum".
Erstelle eine Datei in /includes/extra/send_order/data/ mit folgendem Inhalt:
<?php// order_mail variable for total weight$query = xtc_db_query
("SELECT orders_shipping_weight FROM " . TABLE_ORDERS
. " WHERE orders_id = '".$order->info['order_id']."'");$result = xtc_db_fetch_array
($query);$smarty->assign('total_shipping_weight', round($result['orders_shipping_weight'], 2).' kg'); // Ergebnis auf 2 Stellen (ggf. anpassen) nach dem Komma aufrunden und mit kg-Angabe formatieren Damit kannst du es ja mal testen und die Variable {$total_shipping_weight} in der order_mail.html einbauen.
Ansonsten müsstest du doch noch an die /includes/classes/order.php rangehen und folgendes finden:
$this->info = array('order_status' => DEFAULT_ORDERS_STATUS_ID
, 'currency' => $_SESSION['currency'], 'currency_value' => $xtPrice->currencies[$_SESSION['currency']]['value'], 'payment_method' => isset($_SESSION['payment']) ?
$_SESSION['payment'] : '', 'shipping_method' => isset($_SESSION['shipping']) && is_array($_SESSION['shipping']) ?
$_SESSION['shipping']['title'] : '', 'shipping_cost' => isset($_SESSION['shipping']) && is_array($_SESSION['shipping']) ?
$xtPrice->xtcCalculateCurr($_SESSION['shipping']['cost']) : 0, 'comments' => isset($_SESSION['comments']) ?
$_SESSION['comments'] : '', 'shipping_class' => isset($_SESSION['shipping']) && is_array($_SESSION['shipping']) && array_key_exists('id', $_SESSION['shipping']) ?
$_SESSION['shipping']['id'] : '', 'payment_class' => isset($_SESSION['payment']) ?
$_SESSION['payment'] : '', 'subtotal' => 0, 'tax' => 0, 'tax_groups' => array(), ); Füge hier nach 'shipping_class' folgendes hinzu:
'orders_shipping_weight' => isset($_SESSION['cart']) ?
$_SESSION['cart']->weight+SHIPPING_BOX_WEIGHT
: $order['orders_shipping_weight'], Deine Datei unter /includes/extra/send_order/data/ sieht dann nur noch so aus:
<?php// order_mail variable for total weight$smarty->assign('total_shipping_weight', round($order->info['orders_shipping_weight'], 2).' kg'); // Ergebnis auf 2 Stellen (ggf. anpassen) nach dem Komma aufrunden und mit kg-Angabe formatieren Kannst ja mal berichten.