Erstmal brauchen wir unsere XML-Datei Webguys_Export.xml in app/etc/modules die unser Modul aktiviert:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Webguys_Export>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Checkout />
</depends>
</Webguys_Export>
</modules>
</config>
Danach müssen wir Magento mitteilen das unser Event mit dem Namen "checkout_type_onepage_save_order" abgefangen werden soll bzw. das dort etwas zusätzlich passiert. Das können wir durch die app/local/Webguys/Export/etc/config.xml veranlassen die dort ungefähr wie folgt aufgebaut ist:
<config>
<global>
<events>
<checkout_type_onepage_save_order>
<observers>
<webguys_export_order_observer>
<type>singleton</type>
<class>Webguys_Export_Model_Observer</class>
<method>mailExport</method>
</webguys_export_order_observer>
</observers>
</checkout_type_onepage_save_order>
</events>
</global>
</config>
Nun würde in der Class Webguys_Export_Model_Observer die Funktion mailExport aufgerufen. Einziges Problem: Die Classe gibt es noch nicht. Dem können wir aber leicht Abhilfe schaffen indem wir die Datei app/local/Webguys/Export/Model/Observer.php erstellen und wie folgt befüllen:
<?php
class Webguys_Export_Model_Observer {
public function mailExport( $event ) {
$order = $event->getOrder();
// Some Magic
// mail('tobi@webguys.de', 'Test', $order->getId() );
}
}
Das war es schon. Natürlich ist die E-Mail noch mit den richtigen Infos aufzubauen und letztlich an den richtigen Empfänger zuzustellen :) Wenn übrigens etwas mal nicht klappt lohnt sich ein Blick in die Datei var/log/system.log. Diese enthält viele Informationen was Magento eigentlich tut bzw. wo es Probleme hat. Logging muss natürlich vorher in der Administration aktiviert werden.
Update: Besser ist es noch das Event "checkout_submit_all_after" anstelle von "checkout_type_onepage_save_order" zu verwenden. Bei "checkout_type_onepage_save_order" hatte ich mit der Magento 1.4.1.1 Probleme beim Bestellen des Warenkorbes.
checkout_type_onepage_save_order