2017-06-18 2 views
1

Ich kann Opencart Event System nicht verstehen. Ich möchte beispielsweise die Bestellung an externes CRM senden, das über eine eigene API verfügt. Ich schrieb in der Datei /admin/controller/extension/module/mykmykpet_bitrix24.php nächsten Code:Wie behandelt man Ereignis in Opencart?

class ControllerExtensionModuleMykmykpetBitrix24 extends Controller{ 
    public function install(){ 
     $this->load->model('extension/event'); 
     $this->model_extension_event->addEvent('Bitrix24','catalog/model/checkout/order/addOrder/after','extension/module/mykmykpet_bitrix24/newOrderToCRM'); 
    } 

    public function uninstall(){ 
     $this->load->model('extension/event'); 
     $this->model_extension_event->deleteEvent('Bitrix24'); 
    } 
} 

nächste für Ausbildung, die ich in /catalog/controller/extension/module/mykmykpet_bitrix24.php nächsten schrieb Code:

class ControllerExtensionModuleMykmykpetBitrix24 extends Controller{ 
    public function newOrderToCRM($orderID){ 
     mail("[email protected]","Hello from OpenCart Event",$orderID); 
    }  
} 

Als nächstes I-Test bestellen und habe diese E-Mail: E-mail content

Aber warum ich das bekam? Ich warte auf einen Bestellungsidentifikator, aber nicht auf den Pfad zu der Methode, die ich verwendet habe. Wo ist mein Fehler? Hilf mir bitte.

Antwort

0

Sie müssen in $this->request für order_id suchen, aber ich bin sicher, dass es irgendwo da sein wird. Es wird vom Event-System nicht als Parameter übergeben.

1

OpenCart 2.3.0.2

In Ihrem Beispiel ist order_id im dritten Parameter. Sie es mit Ihrem Protokoll testen:

public function newOrderToCRM($route = false, $order_info = false, $order_id = false){ 
    $this->log->write('Route: ' . $route); 
    $this->log->write('Order Info: '); 
    $this->log->write($order_info); 
    $this->log->write('Order ID: ' . $order_id); 
} 

ein Auftrag und dann Fehlerprotokoll überprüfen, Dies ist das Ergebnis für mich:

2018-01-05 17:04:17 - Strecke : Kasse/Bestellung/addOrder

2018-01-05 17:04:17 - Bestellinformationen: 2018.01.05 17.04.17 - Array (Bestellinformationen innerhalb Array)

2018-01- 05 17:04:17 - Bestellnummer: 130

Verwandte Themen