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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top