ContentLion - Open Source CMS

Event-System

In ContentLion werden an manchen stellen Events geworfen, auf denen in Plugins in reagiert werden kann. Beispiele:

Um auf ein Event zu reagieren müssen Sie im Installer einen Handler registrieren. Dabei wird einfach eine Datei genannt, die geladen wird, wenn ein bestimmtes Event auftritt.

EventManager::addHandler("system/plugins/hello-world/page-saved.php",
"page_saved");

Wenn das Plugin nun aktiviert wird, wird jedes mal wenn eine Seite auftritt (also das Event page_saved ausgelöst wird) die Datei system/plugins/hello-world/page-saved.php ausgeführt.

In der Datei selbst, können dann wieder alle Funktionen von ContentLion genutzt werden. In dem Beispiel oben wissen wir zwar, dass eine Seite gespeichert wurde, aber nicht welche. Dafür gibt es die Variable $args. Das ist ein Array, in dem weitere Informationen pro Event stehen. Diese sind bei jedem Event verschieden.

Eigene Events auslösen

Es wäre schön, wenn Ihr Plugin auch eigene Events auslöst, so dass andere darauf reagieren können.

<?PHP
	$args               = array();
	$args['time'] = time();
	EventManager::RaiseEvent("meinevent",$args);
?>

 Nun können andere auf meinevent reagieren. Wichtig dabei ist, dass Sie bei dem Eventnamen die Namespaces einhalten, damit es nicht zu Konflikten kommt.