flavor Posted September 19, 2016 Report Share Posted September 19, 2016 Hallo! Wenn wir Bestellungen über unsere WAWI abholen und bearbeiten, aktualisiert unsere WAWI über eine Schnittstelle den Bestellstatus. Er wird aber nicht im Kundenkonto (Frontend) in der Bestellübersicht des Kunden angezeigt. Da steht dann einfach kein Text mehr. Im Admin wird in der Übersicht der Bestellung auch kein Text angezeigt. In der Admin-Detailansicht der Bestellungen wird der Bestellstatus wiederum angezeigt. Der Bestellstatus wird, so weit ich es beurteilen kann, korrekt in die Datenbank geschrieben. Vielen Dank für die Hilfe! Freundliche Grüße Gregor Teil der Schnitstelle: // - - - Auftragsstatus setzen - - - function orderUpdate() { global $action, $LangID, $version_major, $version_minor, $n, $hk, $mysqli; $Order_ID = (integer) ($_POST['Order_id']); $Status = (integer) ($_POST['Status']); $Sendungsnummer = $_POST['Sendungsnummer']; $Sendungsdienstleister = $_POST['Sendungsdienstleister']; $StatusText = ""; if ($Status == 2) { $xtStatus = 17; $StatusText = "Auftrag in Bearbeitung."; } else if ($Status == 3) { $xtStatus = 46; $StatusText = "Bestellung Abgeschlossen."; } $btime = aftime(); $orders_array = array('orders_status' => $Status, 'last_modified' => $btime); db_insert(TABLE_ORDERS, $orders_array, 'update', " orders_id = " . $Order_ID); $cmd = "SELECT orders_id, customers_email_address, billing_gender, billing_firstname, billing_lastname, date_purchased, shop_id FROM " . TABLE_ORDERS . " WHERE orders_id = " . $Order_ID; $result = $mysqli->query($cmd) or die($mysqli->error); $order = $result->fetch_array(); if (!empty($Sendungsnummer) && $Status == 3) { $cmd = "SELECT * from xt_shipper WHERE shipper_name LIKE '%{$Sendungsdienstleister}%' "; $query = $mysqli->query($cmd) or die($mysqli->error); $parcel = $query->fetch_array(); if ($parcel) { $url = str_replace('[TRACKING_CODE]', $Sendungsnummer, $parcel['shipper_tracking_url']); $insert_tracking_data = array('tracking_shipper_id' => $parcel['id'], 'tracking_code'=>$Sendungsnummer, 'tracking_order_id' => $Order_ID, 'tracking_status_id' => 1, 'tracking_added' => $btime ); db_insert('xt_tracking', $insert_tracking_data); $tx_text = "Die Sendungsverfolgung für Ihre Bestellung können Sie über den unten stehenden Link aufrufen: \n {$url} \n"; $p_status = true; } } $cmd = "SELECT config_value FROM " . TABLE_CONFIGURATION_MULTI . $order['shop_id'] . " WHERE config_key = '_STORE_CONTACT_EMAIL'"; $result = $mysqli->query($cmd) or die($mysqli->error); $conf_mail = $result->fetch_array(); $cmd = "SELECT config_value FROM " . TABLE_CONFIGURATION_MULTI . $order['shop_id'] . " WHERE config_key = '_STORE_EMAIL_FOOTER_TXT'"; $result = $mysqli->query($cmd) or die($mysqli->error); $conf_txt = $result->fetch_array(); $notified = 0; Link to comment Share on other sites More sharing options...
xt:Commerce Posted September 19, 2016 Report Share Posted September 19, 2016 dann wird ein nicht existierender status in die orders tabelle geschrieben, und ein korrekter in die history tabelle. Link to comment Share on other sites More sharing options...
flavor Posted September 19, 2016 Author Report Share Posted September 19, 2016 Vielen Dank für den Ansatz administrator! Hat mich zur Lösung geführt. Die Schnittstelle wurde etwas "nachlässig" geschrieben... Lösung war: Teil der Schnitstelle: // - - - Auftragsstatus setzen - - - function orderUpdate() { global $action, $LangID, $version_major, $version_minor, $n, $hk, $mysqli; $Order_ID = (integer) ($_POST['Order_id']); $Status = (integer) ($_POST['Status']); $Sendungsnummer = $_POST['Sendungsnummer']; $Sendungsdienstleister = $_POST['Sendungsdienstleister']; $StatusText = ""; if ($Status == 2) { $xtStatus = 17; $StatusText = "Auftrag in Bearbeitung."; } else if ($Status == 3) { $xtStatus = 46; $StatusText = "Bestellung Abgeschlossen."; } $btime = aftime(); $orders_array = array('orders_status' => $Status, 'last_modified' => $btime); db_insert(TABLE_ORDERS, $orders_array, 'update', " orders_id = " . $Order_ID); Link to comment Share on other sites More sharing options...
Alex@4tfm Posted September 20, 2016 Report Share Posted September 20, 2016 Scheint mir eher als wenn das Wort "phpScript" es besser beschreibt als "Schnittstelle" Darf man fragen um welche WaWi es sich handelt? Link to comment Share on other sites More sharing options...
flavor Posted September 20, 2016 Author Report Share Posted September 20, 2016 7 hours ago, Alex@4tfm said: Scheint mir eher als wenn das Wort "phpScript" es besser beschreibt als "Schnittstelle" Verstehe :-) ... aber nur in diesem Kontext. Es ist die Schnittstelle... ich meine das phpScript zu der WAWI Amicron Faktura 12. Das Script wurde aber von einem Drittanbieter zu Verfügung gestellt und leider nicht hinreichend getestet. Es sind auch andere Fehler vorhanden wie etwa die falsche Berechnung des Grundpreises und eins zwei andre Dinge die mir, einem php Quereinsteiger, aufgefallen sind. Wir dürfen aber froh sein das es diese überhaupt gibt, da wir mit der WAWI grundsätzlich zufrieden sind. Eine Verbesserung des Scriptes wäre aber wünschenswert, da diese auch nicht Multishops unterstützt. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.