Events in Magento erstellen / Event-Observer

11. Dezember 2009 at 14:22

Ihr möchtet in Magento auf diverse Ereignisse (Events) reagieren? Z.B. eine E-Mail versenden nach einer bestimmten Aktion? Dazu gibt es in Magento den Event-Observer, welchen ihr wie folgt verwenden könnt (Beispiel zur Erweiterung eines Moduls):

In der config.xml des Moduls fügt folgenden Eintrag hinzu:

<config>
...
<events>
<checkout_onepage_controller_success_action>
<observers>
<fly2marsmedia_limitededition_model_order>
<type>singleton</type>
<class>fly2marsmedia_limitededition_model_order</class>
<method>saveLimitedEdition</method>
</fly2marsmedia_limitededition_model_order>
</observers>
</checkout_onepage_controller_success_action>
</events>
...
</config>

In diesem Beispiel erweitern wir die Classe Mage_Checkout_Modul_Type_Onepage um eine Aktion nach dem speichern auszuführen. In dem Beispiel haben wir die Klasse Fly2marsMedia_LimitedEdition_Model_Checkout_Onepage unter /app/code/local/Fly2MarsMedia/LimitedEdition/Model/Checkout abgelegt und erstellen dort die Funktion checkout_type_onepage_save_order_after() welche automatisch durch Magento nach dem Speichern der Bestellung aufgerufen wird mit einem beliebigen Code.

Solltet ihr ein Neues Modul erstellen, nicht vergessen dieses durch die entsprechende Config-XML unter app/etc/modules anzulegen (in diesem Fall /app/etc/modules/Fly2marsMedia_LimitedEdition.xml), der Vollständigkeit halber der Inhalt der Datei:

<?xml version="1.0"?>
<config>
 <modules>
 <Fly2marsMedia_LimitedEdition>
 <active>true</active>
 <codePool>local</codePool>
 </Fly2marsMedia_LimitedEdition>
 </modules>
</config>
Daniel Briegert

Daniel Briegert

xing: https://www.xing.com/profile/Daniel_Briegert

More Posts - Website

Follow Me:
TwitterFacebook