web-dev-qa-db-fra.com

Drupal 8 entités ont-elles des événements que je peux écouter?

Je sais que nous pouvons utiliser hook_entity_update() hook pour faire quelque chose quand une entité est mise à jour. Mais existe-t-il un événement pour écouter les mises à jour/suppressions de nœuds, ou d'autres entités telles que d'ailleurs?

7
John

Vous ne pouvez pas écouter un événement. Vous pouvez utiliser un hook ou implémenter une méthode comme postSave () dans votre entité personnalisée.

Voici l'ordre des hooks et autres événements qui se produisent lors d'une sauvegarde d'entité:

14
4k4

Idéalement, vous devriez écouter les événements liés à l'entité, mais ceux-ci ne sont pas encore prêts. Voir "Ajouter des événements pour faire correspondre les hooks d'entité" .

Pour l'instant, si vous voulez rester à l'écart des hooks, vous pouvez utiliser un module contrib: Hook Event Dispatcher

3
imclean

Un node est un type d'entité, donc hook_ENTITY_TYPE_update(.. est le même que hook_node_update(..,

function hook_node_update(Drupal\Core\Entity\EntityInterface $entity) {
    //$entity->bundle()  - 'article' 'page'
}

ou

function hook_customentity_update(Drupal\Core\Entity\EntityInterface $entity{
    //$entity->bundle()  - 'awesome_entity_bundle'
}

https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Entity!entity.api.php/function/hook_ENTITY_TYPE_update/8.2.x

1
Dylan