Aby tylko przycisk w kroku 6 - 'Potwierdź zamówienie' dodawał zamówienie do bazy danych trzeba zmienić:
1. W pliku /catalog/controller/checkout/confirm.php:
od 326 linii usunąć:
- Kod: Zaznacz cały
$this->load->model('checkout/order');
$this->session->data['order_id'] = $this->model_checkout_order->addOrder($data);
zamiast nich dodać:
- Kod: Zaznacz cały
$this->session->data['order_data'] = $data;
2. W używanych plikach płatności /catalog/controller/payment/cod.php, bank_transfer.php, cop.php, free_transfer.pl,itd...:
ok. 17 linii funkcja:
- Kod: Zaznacz cały
public function confirm() {
// ta linia powinna być w każdej metodzie płatności:
$this->load->model('checkout/order');
// nowa linia - dodająca zamówienie do bazy danych:
$this->session->data['order_id'] = $this->model_checkout_order->addOrder($this->session->data['order_data']);
// podobna linia jest w każdej metodzie płatności - potwierdzenie zamówienia:
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('cod_order_status_id'));
// nowa linia - zwalnienie zmiennej z danymi zamówienia:
unset($this->session->data['order_data']);
}
Dobrze, żeby ktoś jeszcze przetestował ten sposób. U mnie jak na razie wszystko działa i nie tworzy "śmieciowych" zamówień