web-dev-qa-db-ja.com

Drupal 8エンティティには、聞くことができるイベントがありますか?

エンティティが更新されたときにhook_entity_update()フックを使用して何かを実行できることを知っています。しかし、ノードの更新/削除、またはそのような他のエンティティをリッスンするイベントはありますか?

7
John

イベントを聞くことはできません。フックを使用するか、カスタムエンティティにpostSave()などのメソッドを実装できます。

エンティティの保存中に発生するフックとその他のイベントの順序は次のとおりです。

14
4k4

エンティティ関連のイベントをリッスンするのが理想的ですが、これらはまだ準備ができていません。 "一致するエンティティフックのイベントを追加する" を参照してください。

とりあえず、フックから離れたい場合は、contribモジュールを使用できます。 Hook Event Dispatcher

3
imclean

nodeはエンティティタイプであるため、hook_ENTITY_TYPE_update(..hook_node_update(..と同じです。

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

または

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