Wie man das Magento -Ereignis kennt, das wir haken wollen [Duplikat
-
16-10-2019 - |
Frage
Diese Frage hat hier bereits eine Antwort:
Meine Frage ist einfach, woher kann man das Magento -Ereignis kennen, an das wir hängen wollen?
Gibt es eine einfache Lösung?
Lösung
Wenn Sie die Liste der Ereignisse sehen möchten, die Magento hat, haben Sie 3 Optionen:
1) Google dafür, es gibt viele Leute, die eine Liste von Magento -Events zusammengestellt haben
2) Erstellen Sie ein Modul, das sich an der anhängt controller_action_predispatch
Ereignis, das das Ereignis ist, das vor einem anderen Ereignis aufgerufen wird. In diesem Modul können Sie jedes Ereignis protokollieren, das versandt wird:
Fügen Sie Folgendes auf config.xml hinzu
<events>
<controller_action_postdispatch>
<observers>
<controller_action_after>
<class>yourmodule/observer</class>
<method>hookToControllerActionPostDispatch</method>
</controller_action_after>
</observers>
</controller_action_postdispatch>
</events>
Und im Inneren des yourmodule/Modells/Beobachters:
public function hookToControllerActionPostDispatch($observer) {
Mage::log($observer->getEvent()->getControllerAction()->getFullActionName());
}
Das obige würde jedes Ereignis protokollieren, das versandt wird ...
3) Wenn Sie SSH -Zugriff haben, können Sie den folgenden Befehl ausführen, um einen Überblick über alle Ereignisse (und deren Dateien zu erhalten, in denen sie versandt werden):
cd /path/to/<magento-root>
grep -nris 'dispatchEvent' app/code/
Andere Tipps
Der OnePageController entsendet eine Veranstaltung zum Speichern der Versandmethode. Sie könnten Ihre Logik wahrscheinlich dort hinzufügen:
Von OnePageController.php:
Mage::dispatchEvent('checkout_controller_onepage_save_shipping_method',
array('request'=>$this->getRequest(),
'quote'=>$this->getOnepage()->getQuote()));
Ihr Veranstaltungsname lautet also checkout_controller_onepage_save_shipping_method
.