Hat Drupal 8-Entitäten Ereignisse, die ich anhören kann?


7

Ich weiß, dass wir hook_entity_update()Hook verwenden können, um etwas zu tun, wenn eine Entität aktualisiert wird. Aber gibt es ein Ereignis, das auf Knotenaktualisierungen / -löschungen oder andere Entitäten wie diese wartet?

Antworten:


14

Sie können kein Ereignis anhören. Sie können entweder einen Hook verwenden oder eine Methode wie postSave () in Ihrer benutzerdefinierten Entität implementieren.

Hier ist die Reihenfolge der Hooks und anderer Ereignisse, die während des Speicherns einer Entität auftreten:


Entitäten senden also keine Ereignisse aus, die ich abonnieren kann? Ich müsste einen Haken benutzen?
John

1
Ja, viele Drupal-spezifische Ereignisse sind noch nicht abgeschlossen. Schließlich werden alle Hooks ersetzt, siehe drupal.org/node/1509164 und drupal.org/node/1972304 .
4k4

Gute Antwort. Wusste nicht, dass hook_entity_updatees keine neuen Objekte gibt. Es gibt keinen Haken für neue oder aktualisierte, oder? Ich müsste eine andere Funktion erstellen und beide Hooks dazu bringen, die eine Funktion aufzurufen.
Der unbekannte

3

Idealerweise würden Sie auf entitätsbezogene Ereignisse warten, diese sind jedoch noch nicht fertig. Siehe "Ereignisse für übereinstimmende Entity-Hooks hinzufügen" .

Wenn Sie sich vorerst von Hooks fernhalten möchten, können Sie ein Contrib-Modul verwenden: Hook Event Dispatcher


4
Ich dachte, ich würde der Diskussion etwas hinzufügen. Wenn Sie abstimmen, hinterlassen Sie bitte einen Kommentar, um zu erklären, warum. Dies kann mir helfen, meine Antworten zu verbessern. Vielen Dank.
unrein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.