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 .

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top