Teil 4: Module für PHP-basierte E-Commerce-Systeme schreiben
Kommentare

Nachdem Informationen zur Versionierung angegeben worden sind – das ist relevant für die so genannten Update-Scripts, mit deren Hilfe sich Datenbankänderungen im Rahmen einer Modulinstallation realisieren lassen – melden Sie ein neues Model-Verzeichnis innerhalb Ihrer neuen Extension an.

Zum Schluss wird Folgendes konfiguriert:

Für den Fall, dass das Event sales_order_place_after ausgelöst wird – das geschieht, wenn eine Bestellung erfolgreich abgeschlossen wurde – stößt Magento die Methode sendAdditionalEmail() aus der Klasse namens Observer.php an. In /Model/Observer.php wird dann die Logik untergebracht, die für den Versand der zusätzlichen E-Mail verantwortlich ist (Listing 3).

Listing 3
getOrder();
    $emailAddress = Mage::getStoreConfig(
      'trans_email/ident_general/email',
      $order->getStoreId()
    );

    $mail = Mage::getModel('core/email')
      ->setSubject('Neue Bestellung')
      ->setFromEmail($emailAddress)
      ->setToEmail($emailAddress)
      ->setBody('Neue Bestellung ' . $order->getRealOrderId())
      ->send();
  }
}

Das Event übergibt alle für den Kontext wichtigen Daten, in unserem Beispiel das komplette Order-Objekt der gerade durchgeführten Bestellung. Nachdem die Magento-Konfiguration über Mage::getStoreConfig() nach der Absender- und Empfängeradresse befragt wurde, wird die interne Mailer-Funktionalität verwendet, um im Body der E-Mail die aktuelle ID der Bestellung zu versenden.

Die gezeigte Event-Observer-Methode ist nur ein möglicher Weg, um Anpassungen zu implementieren. Layout-XML und Class-Rewrites sind weitere Werkzeuge, die es erlauben, vorhandene Magento-Funktionalitäten an die eigenen Bedürfnisse anzupassen.

Weiter mit: Teil 5

Alle Teile: Teil 1, Teil 2, Teil 3, Teil 4, Teil 5, Teil 6, Teil 7, Teil 8, Teil 9, Teil 10

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -