Flexible Schnittstellen
durch Event/Observer
Agenda
•  Event/Observer – Allgemein
•  Event/Observer – In Magento
•  Praxisbeispiel
•  Diskussion / Austausch / Eigene E...
EVENT/OBSERVER – ALLGEMEIN
3ITABS GbR – Rouven Alexander Rieker04.11.2010
Definition
Das Subject/Observer Pattern definiert eine Eins-zu-n-Abhängigkeit
zwischen einem Subjekt und beliebig vielen B...
Fakten
•  Geringere Abhängigkeit von Modulen untereinander
•  Updatesichere Entwicklung möglich, da gegen Schnittstelle
en...
EVENT/OBSERVER – IN MAGENTO
6ITABS GbR – Rouven Alexander Rieker04.11.2010
Event/Observer in Magento?
•  Derzeit 298 Events im Magento-Core – Formatierte Liste
herunterladbar unter:
downloads.itabs...
Programmablauf mit Event/
Observer in Magento
ITABS GbR – Rouven Alexander Rieker 804.11.2010
Beteiligte Dateien während es
Programmablaufs
Datei Funk*on
app/Mage.php 	
   	
   	
   	
   dispatchEvent()
app/code/core...
Definition in der config.xml
...
<events>
<event_name>
<observers>
<module_observer_name>
<type>singleton</type>
<class>mo...
PRAXISBEISPIELE
11ITABS GbR – Rouven Alexander Rieker04.11.2010
Praxisbeispiel 1
•  Ein Shop-Besitzer möchte zur Veranstaltung „Meet Magento“
allen Magento-Developern sein einziges Produ...
Praxisbeispiel 2
•  Ein Kunde möchte, dass alle Authorisierungsaktionen im
Magento-Backend bzw. der Magento-API in einer e...
Diskussion, Austausch,
Eigene Erfahrungen
14ITABS GbR – Rouven Alexander Rieker04.11.2010
VIELEN DANK!
Meine Kontaktdaten:
E-Mail: rouven.rieker@itabs.de
Telefon: 07022-308404-13
Adresse: ITABS GbR, Zementwerk 1,...
Nächste SlideShare
Wird geladen in …5
×

Magento: Event/Observer

2.672 Aufrufe

Veröffentlicht am

Flexible Schnittstellen durch Event/Observer in Magento

0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.672
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
20
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Magento: Event/Observer

  1. 1. Flexible Schnittstellen durch Event/Observer
  2. 2. Agenda •  Event/Observer – Allgemein •  Event/Observer – In Magento •  Praxisbeispiel •  Diskussion / Austausch / Eigene Erfahrungen 04.11.2010 ITABS GbR – Rouven Alexander Rieker 2
  3. 3. EVENT/OBSERVER – ALLGEMEIN 3ITABS GbR – Rouven Alexander Rieker04.11.2010
  4. 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. 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
  6. 6. EVENT/OBSERVER – IN MAGENTO 6ITABS GbR – Rouven Alexander Rieker04.11.2010
  7. 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
  8. 8. Programmablauf mit Event/ Observer in Magento ITABS GbR – Rouven Alexander Rieker 804.11.2010
  9. 9. Beteiligte Dateien während es Programmablaufs Datei Funk*on app/Mage.php         dispatchEvent() app/code/core/Mage/Model/App.php dispatchEvent()      lib/Varien/Event.php __construct()      lib/Varien/Event/Observer.php __construct() app/code/core/Mage/Model/App.php _callObserverMethod()      app/code/pool/Namespace/Module/Model/Observer.php myObserverMethod() ITABS GbR – Rouven Alexander Rieker 904.11.2010
  10. 10. Definition in der config.xml ... <events> <event_name> <observers> <module_observer_name> <type>singleton</type> <class>module/observer</class> <method>myObserverMethod</method> </module_observer_name> </observers </event_name> </events> ... ITABS GbR – Rouven Alexander Rieker 1004.11.2010
  11. 11. PRAXISBEISPIELE 11ITABS GbR – Rouven Alexander Rieker04.11.2010
  12. 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. 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
  14. 14. Diskussion, Austausch, Eigene Erfahrungen 14ITABS GbR – Rouven Alexander Rieker04.11.2010
  15. 15. VIELEN DANK! Meine Kontaktdaten: E-Mail: rouven.rieker@itabs.de Telefon: 07022-308404-13 Adresse: ITABS GbR, Zementwerk 1, 72622 Nürtingen Twitter: twitter.com/therouv 04.11.2010 15ITABS GbR – Rouven Alexander Rieker

×