2 Stimmen

Opencart: Bestellung kann nicht programmgesteuert aktualisiert werden

Ich entwickle eine Zahlungsgateway-Erweiterung auf Opencart. Die Erweiterung ist komplett fertig und funktioniert wie geplant.

Etwas scheint jedoch nicht zu funktionieren, nämlich das Aktualisieren der Bestellung.

Ich versuche die Bestellung wie folgt zu aktualisieren:

$this->load->model('checkout/order');       
$this->model_checkout_order->update($orderid, 2, 'In Bearbeitung', true);

Die Variable $orderid enthält eine gültige Bestellungsnummer, der Datensatz ist auch in der Datenbank zu finden, aber die Bestellung wird nicht aktualisiert. Fehlt hier etwas?

Opencart Ver. 1.5.x

Vielen Dank

1voto

zoonman Punkte 1056

Ihr Bestellstatus sollte größer als Null sein, weil das Modell diese Überprüfung durchführt

 $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "language l ON (o.language_id = l.language_id) WHERE o.order_id = '" . (int)$order_id . "' UND o.order_status_id > '0'");

1voto

Arfeen Punkte 2533

Ok, ich habe die Lösung für dieses Problem gefunden. Füge sie hier zur Information hinzu.

Ich habe zuerst die "confirm" API vermisst. Sie muss zuerst bestätigt werden, sonst wird sie nicht aktualisiert.

// 2 steht für den Status 'Processing'
$this->model_checkout_order->confirm($this->session->data['order_id'], 2);

Danach hatte ich keine Probleme mehr beim Aktualisieren des Bestellstatus.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X