Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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.852 Aufrufe

Veröffentlicht am

Flexible Schnittstellen durch Event/Observer in Magento

  • Als Erste(r) kommentieren

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

×