Magento: Event/Observer

  • Published on
    29-Nov-2014

  • View
    2.605

  • Download
    0

DESCRIPTION

Flexible Schnittstellen durch Event/Observer in Magento

Transcript

  • 1. Flexible Schnittstellen durch Event/Observer
  • 2. Agenda Event/Observer Allgemein Event/Observer In Magento Praxisbeispiel Diskussion / Austausch / Eigene Erfahrungen 04.11.2010 ITABS GbR Rouven Alexander Rieker 2
  • 3. EVENT/OBSERVER ALLGEMEIN 04.11.2010 ITABS GbR Rouven Alexander Rieker 3
  • 4. Definition Das Subject/Observer Pattern definiert eine Eins-zu-n-Abhngigkeit zwischen einem Subjekt und beliebig vielen Beobachtern. Wenn sich der Zustand des Objekts ndert, werden die abhngigen Objekte automatisch benachrichtigt. Buch-Quelle: PHP Design Patterns 04.11.2010 ITABS GbR Rouven Alexander Rieker 4
  • 5. Fakten Geringere Abhngigkeit von Modulen untereinander Updatesichere Entwicklung mglich, da gegen Schnittstelle entwickelt wird Objekte knnen miteinander interagieren ohne direkt abhngig voneinander zu sein Objekt knnen zur Laufzeit manipuliert werden Eignen sich nicht fr Vernderung des Kerns, sondern fr die Implementierung neuer Funktionen 04.11.2010 ITABS GbR Rouven Alexander Rieker 5
  • 6. EVENT/OBSERVER IN MAGENTO 04.11.2010 ITABS GbR Rouven Alexander Rieker 6
  • 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 mglich Mglichkeiten schaffen, die Abhngigkeiten der eigenen Modulen von anderen zu reduzieren Definition eines Events geschieht in der config.xml im Abschnitt , oder Werden im Model-Verzeichnis des Moduls abgelegt 04.11.2010 ITABS GbR Rouven Alexander Rieker 7
  • 8. Programmablauf mit Event/ Observer in Magento 04.11.2010 ITABS GbR Rouven Alexander Rieker 8
  • 9. Beteiligte Dateien whrend 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() 04.11.2010 ITABS GbR Rouven Alexander Rieker 9
  • 10. Definition in der config.xml ... singletonmodule/observermyObserverMethod ... 04.11.2010 ITABS GbR Rouven Alexander Rieker 10
  • 11. PRAXISBEISPIELE 04.11.2010 ITABS GbR Rouven Alexander Rieker 11
  • 12. Praxisbeispiel 1 Ein Shop-Besitzer mchte 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 bentigt? catalog_product_get_final_price 04.11.2010 ITABS GbR Rouven Alexander Rieker 12
  • 13. Praxisbeispiel 2 Ein Kunde mchte, dass alle Authorisierungsaktionen im Magento-Backend bzw. der Magento-API in einer eigenen Datei geloggt werden. Welche Events werden bentigt? admin_user_authenticate_after api_user_authenticated Vorteil: berschreiben wre in diesem Fall wesentlich aufwendiger gewesen, so relativ einfach und die eigene Business-Logik in einer Datei zusammengefasst. 04.11.2010 ITABS GbR Rouven Alexander Rieker 13
  • 14. Diskussion, Austausch, Eigene Erfahrungen 04.11.2010 ITABS GbR Rouven Alexander Rieker 14
  • 15. Meine Kontaktdaten: E-Mail: rouven.rieker@itabs.de Telefon: 07022-308404-13 Adresse: ITABS GbR, Zementwerk 1, 72622 Nrtingen Twitter: twitter.com/therouv VIELEN DANK! 04.11.2010 ITABS GbR Rouven Alexander Rieker 15

Recommended

View more >