Je travaille sur mon mode de paiement personnalisé pour opencart. Ce dont j'ai besoin, c'est d'écouter les changements de l'historique des commandes qui ont changé d'admin par le manager. Tout allait bien, mais je ne pouvais pas faire déclencher l'événement opencart à travailler, peu importe ce que je fais.Opencart Les événements addOrderHistory ne fonctionnent pas
Voici à quoi il ressemble maintenant:
public function install() {
$this->load->model('extension/event');
$this->model_extension_event->addEvent('delayed_payment_oh_add', 'catalog/model/checkout/order/addOrderHistory/after', 'admin/controller/extension/payment/delayed_payment/send_instructions');
$this->model_extension_event->addEvent('delayed_payment_oh_api', 'catalog/controller/api/order/history/after', 'admin/controller/extension/payment/delayed_payment/send_instructions');
}
public function uninstall() {
$this->load->model('extension/event');
$this->model_extension_event->deleteEvent('delayed_payment_oh_add');
$this->model_extension_event->deleteEvent('delayed_payment_oh_api');
}
Et l'auditeur lui-même:
public function send_instructions($route, $output, $order_id, $order_status_id) {
$this->load->model('checkout/order');
$this->log->write(var_dump($output));
echo var_dump($output);
$order_info = $this->model_checkout_order->getOrder($order_id);
if ($order_status_id == $this->config->get('delayed_payment_confirmed_order_status'))
$this->model_checkout_order->addOrderHistory(
$order_id,
$this->config->get('delayed_payment_waiting_order_status'),
$this->config->get('delayed_payment_order_comment'),
true
);
}
Il ne met rien à l'impression à la fois journal ou d'une sortie. Comment le faire fonctionner? (Opencart 2.3)
Où est le fichier qui contient la fonction send_instructions? sur quel répertoire? – DigitCart
@Mojtaba Je l'ai essayé à la fois dans les admin (admin/controller/extension/payment/delayed_payment.php) et les contrôleurs de catalogues (catalog/controller/extension/payment/delayed_payment.php) –