Manuale evento innescata non funziona
-
16-10-2019 - |
Domanda
Ho un osservatore per sales_order_place_after
e questo sta funzionando. Ora sto generare un ordine me e vorrei per attivare questo evento, ma non ottiene al mio osservatore.
E 'qualcosa che non va qui:
Mage::dispatchEvent('sales_order_place_after', array('order' => $service->getOrder()));
o devo fare qualcosa di speciale da un file di script esterno? I miei sguardi script come questo .
Soluzione
appare come la mia ipotesi era corretta.
Nel file di configurazione XML che si sta solo osservando l'evento in un ambito (ad esempio frontend). Tuttavia lo script è in esecuzione in un ambito diverso. Posizionando l'evento nella sezione globale del file config dovrebbe prendersi cura di questo.
Altri suggerimenti
Mi sono imbattuto lo stesso problema in cui l'evento non è stato sparato nel mio script esterno.
A seconda della portata del vostro osservatore alla config.xml
è necessario impostare il Area Event .
require_once 'app/Mage.php';
Mage::init();
Mage::app()->addEventArea('global'); // e.g. 'global', 'frontend', 'adminhtml'
...
Si veda anche questo articolo .
Sostituire l'evento per sales_order_save_after
, questo dovrebbe essere innescato da script frontend, admin e personalizzati.