4. Definition
Das Subject/Observer Pattern definiert eine Eins-zu-n-Abhängigkeit
zwischen einem Subjekt und beliebig vielen Beobachtern. Wenn
sich der Zustand des Objekts ändert, werden die abhängigen
Objekte automatisch benachrichtigt.
Buch-Quelle: PHP Design Patterns
ITABS GbR – Rouven Alexander Rieker 404.11.2010
5. Fakten
• Geringere Abhängigkeit von Modulen untereinander
• Updatesichere Entwicklung möglich, da gegen Schnittstelle
entwickelt wird
• Objekte können miteinander interagieren ohne direkt abhängig
voneinander zu sein
• Objekt können zur Laufzeit „manipuliert“ werden
• Eignen sich nicht für Veränderung des Kerns, sondern für die
Implementierung neuer Funktionen
ITABS GbR – Rouven Alexander Rieker 504.11.2010
7. Event/Observer in Magento?
• Derzeit 298 Events im Magento-Core – Formatierte Liste
herunterladbar unter:
downloads.itabs.de/public/magento/magento-events-1.4.1.1.xls
• Eigene Events in eigenen Modulen sind problemlos möglich
– Möglichkeiten schaffen, die Abhängigkeiten der eigenen Modulen
von anderen zu reduzieren
• Definition eines Events geschieht in der config.xml im Abschnitt
<global>, <frontend> oder <adminhtml>
• Werden im „Model“-Verzeichnis des Moduls abgelegt
ITABS GbR – Rouven Alexander Rieker 704.11.2010
12. Praxisbeispiel 1
• Ein Shop-Besitzer möchte zur Veranstaltung „Meet Magento“
allen Magento-Developern sein einziges Produkt (Produkt-Typ:
Einfaches Produkt) statt 999,99 € zum Sonderpreis von 499,99 €
anbieten.
• Welche Events werden benötigt?
– catalog_product_get_final_price
ITABS GbR – Rouven Alexander Rieker 1204.11.2010
13. Praxisbeispiel 2
• Ein Kunde möchte, dass alle Authorisierungsaktionen im
Magento-Backend bzw. der Magento-API in einer eigenen Datei
geloggt werden.
• Welche Events werden benötigt?
– admin_user_authenticate_after
– api_user_authenticated
• Vorteil: Überschreiben wäre in diesem Fall wesentlich
aufwendiger gewesen, so relativ einfach und die eigene
Business-Logik in einer Datei zusammengefasst.
ITABS GbR – Rouven Alexander Rieker 1304.11.2010