Skip to content

Page Events

Die Page-Events beziehen sich auf das Erstellen, Bearbeiten und Löschen von Pages.
Alle drei Events teilen sich eine gemeinsame Grundstruktur und bieten zusätzliche Methoden, um den Ablauf gezielt zu steuern.


Gemeinsame Methoden

  • getWho(): ?UserModel
    Gibt das UserModel des Nutzers zurück, der die Aktion ausgelöst hat.
    Kann null sein, wenn kein Benutzer beteiligt war.

  • getPage(): PageModel
    Liefert das betroffene PageModel.

  • stopAction(string $message): void
    Stoppt die Ausführung des Events.

    • Die laufende Transaktion wird zurückgerollt.
    • Alle weiteren Listener werden nicht mehr ausgeführt.
    • Der Client erhält eine HTTP 400 Antwort mit dem Inhalt von $message.
  • getErrorMessage(): ?string
    Gibt die Fehlernachricht zurück, falls das Event gestoppt wurde.
    null, wenn das Event normal verarbeitet wurde.


PageCreatedEvent

Wird ausgelöst, wenn eine neue Seite erstellt wird.

Typische Anwendungsfälle:

  • Validierungslogik
  • Anstoßen von Folgeaktionen
Beispiel: Validierungslogik prüfen und ggf. das Event mit einer Fehlermeldung stoppen
public function onPageCreated(PageCreatedEvent $event): void
{
    // ... Validierungslogik
    if ($failedValidation) {
        $event->stopAction("Validierung fehlgeschlagen!");
    }
}

PageUpdatedEvent

Wird ausgelöst, wenn eine bestehende Seite geändert wird.

Typische Anwendungsfälle:

  • Validierungslogik
  • Anstoßen von Folgeaktionen
Beispiel: Validierungslogik prüfen und ggf. das Event mit einer Fehlermeldung stoppen
public function onPageUpdated(PageCreatedUpdated $event): void
{
    // ... Validierungslogik
    if ($failedValidation) {
        $event->stopAction("Validierung fehlgeschlagen!");
    }
}

PageDeletedEvent

Wird ausgelöst, wenn eine Seite gelöscht wird.

Typische Anwendungsfälle:

  • Validierungslogik
  • Anstoßen von Folgeaktionen
Beispiel: Validierungslogik prüfen und ggf. das Event mit einer Fehlermeldung stoppen
public function onPageDeleted(PageDeletedEvent $event): void
{
    // ... Validierungslogik
    if ($failedValidation) {
        $event->stopAction("Validierung fehlgeschlagen!");
    }
}