Die Ereignisverwaltung

Die Ereignisverwaltung ist eine mächtige Funktion, mit der Sie über benutzerdefinierte Tags oder Module auf bestimmte, vordefinierte Ereignisse im System reagieren können. So können Sie sich zum Beispiel über benutzerdefinierte Tag informieren lassen, wenn eine Seite geändert oder ein neuer News-Artikel eingestellt wurde, ohne den Quellcode des News-Moduls verändern zu müssen.

Diese Funktion richtet sich insbesondere an fortgeschrittene Anwender mit PHP-Kenntnissen.

In aller Kürze - so funktioniert es

  • Sowohl für das System als auch die Module können Ereignisse wie zum Beispiel "newNews" (neuer Artikel), "newFronteEndUser" (neuer Frontend-Benutzer), "fileUploaded" (Datei hochgeladen), "editPage" (Seite bearbeitet) usw. registriert werden. Für das System sind gegenwärtig 50 Ereignisse definiert. Außerdem wird dies von Modulen wie Uploads, News, FrontendUsers und einigen anderen unterstützt.
  • In der Administration der Ereignisverwaltung können Sie festlegen, welche Module und/oder benutzerdefinierte Tags auf die registrierten Ereignisse reagieren sollen. Außerdem kann die Reihenfolge der Abarbeitung festgelegt werden.
  • Wenn ein Modul auf ein Ereignis reagieren soll, dann wird die DoEvent-Methode des Moduls mit dem Namen des Ereignisses und den mitgelieferten Daten aufgerufen.


Diese Funktionalität ermöglicht jedem, der ein paar PHP-Kenntnisse hat und den CMSms-Quellcode lesen kann, eigene Abläufe im System zu programmieren. So sollte es jetzt ein Leichtes sein, zum Beispiel einen Tag für die Verbindung zwischen dem FrontendUsers-Modul und einer beliebigen Foren-Software zu schreiben, um die Daten zu synchronisieren.

Da auch das Suchmodul vordefinierte Ereignisse unterstützt, kann aufgrund dieses Mechanismus zum Beispiel auch die Zusammenfassung und die Beschreibung von Eingaben im Uploads-Modul durchsucht werden.

Ein Beispiel - jemandem eine Email senden, wenn eine Inhaltsseite geändert wurde

Gehen Sie dabei wie folgt vor:

  • Erstellen Sie einen neuen benutzerdefinierten Tag und nennen ihn zum Beispiel 'Bearbeitungs-Info'. Fügen Sie dies als Inhalt ein:
mail('meine@domain.de','Webseite aktualisiert','Ihre Webseite wurde aktualisiert!');

(meine@domain.de muss natürlich durch Ihre Emailadresse ersetzt werden)

Speichern Sie den benutzerdefinierten Tag.

  • Gehen Sie in der Administration in die Ereignisverwaltung und suchen dort den Eintrag "ContentEditPost". Klicken Sie den Bearbeiten-Button.
  • Wählen Sie den gerade erstellten, benutzerdefinierten Tag aus dem Listenfeldmenü aus (wir hatten ihn im Beispiel 'Bearbeitungs-Info' genannt) und klicken dann auf Hinzufügen.


Das wars schon. Jetzt erhalten Sie immer dann eine Email, wenn eine Seite aktualisiert wird.

Da auch das Content-Object an den benutzerdefinierten Tag übergeben wird, können Sie der versandten Email auch Informationen über den aktuellen Seiteninhalt, den Titel und den Autor hinzufügen. Anstatt der PHP-eigenen mail()-Funktion können Sie natürlich auch das CMSMailer-Modul verwenden.


This page in: English - Deutsch - Español - Français - Italiano - Lietuvių - Nederlands - Norsk - Polski - Česky - Русский - Svenska - Tiếng Việt - عربي - 日本語 简体中文

User Handbook/Admin Panel/Extensions/Events Manager/de

From CMSMS

A2 Hosting