Event Callback Aktion registrieren

Das Beispiel zeigt Ihnen, wie Sie eine Callback Aktion zu einem Event registrieren können.

Anwendungsbeispiel

Über die Events können Standard-Aktionen/Prozesse um zusätzliche Anwendungslogik erweitert werden. Dies erlaubt die Erweiterung der Software ohne das Komponenten ausgetauscht werden müssen. Die meisten Methoden stellen einen Event am Anfang (Pre) und einem am Ende (Post) bereit.

Im foglenden Beispiel werden zwei Callback Aktionen beim Shop-Kunden anlegen registriert.

Sourcecode

  1. /**
  2.  * Registriert die statische Methode "person_data_validate" aus der Plugin-Class
  3.  * "mein_plugin_abc" auf den Event "person_create_pre". Dieser wird am Anfang
  4.  * der "person_create" Methode aufgerufen und kann genutz werden, um die Persondaten
  5.  * vor dem Speichern zu überprüfen und anzupassen.
  6.  */
  7. $r = $this->eCMS->plugin_siteControl->plugin_ecs->ecs_dispatcher->action_create(
  8.     array(
  9.         'de_event' => 'person_create_pre',
  10.         'de_action' => 'mein_plugin_abc::person_data_validate',
  11.         'de_action_type' => 'static-function',
  12.         'de_observer' => 'mein_plugin_abc',
  13.     )
  14. );
  15.  
  16. if ($r['status']==true){
  17.     // OK
  18. } else {
  19.     // Error
  20. }
  21.  
  22.  
  23. /**
  24.  * Registriert die Methode "person_inform_customerservice" in der Plugin-Class-Object
  25.  * auf den Event "person_create". Dieser wird am Ende der "person_create" Methode
  26.  * aufgerufen, nachdem der Shop-Kunde in der Datenbank gespeichert wurde.
  27.  */
  28. $r = $this->eCMS->plugin_siteControl->plugin_ecs->ecs_dispatcher->action_create(
  29.     array(
  30.         'de_event' => 'person_create',
  31.         'de_action' => 'mein_plugin_abc__person_inform_customerservice',
  32.         'de_action_type' => 'method',
  33.         'de_observer' => 'mein_plugin_abc',
  34.     )
  35. );
  36.  
  37. if ($r['status']==true){
  38.     // OK
  39. } else {
  40.     // Error
  41. }