web-dev-qa-db-ja.com

Drupal 8でのhook_node_viewの代替は何ですか?

Drupal 8 Beta 14を使用しており、ティーザービューモードでノードオブジェクトを編集したい。As hook_node_viewはDrupal 8.で削除されました。8.ノードを編集するために使用できる代替フックまたはその他の方法は何ですか?hook_ENTITY_TYPE_viewまたはhook_entity_viewまたは何か他に?

ありがとうございました。

7
rashidkhan

hook_node_view()は実際には削除されていません。呼び出される方法が変更されました。おっしゃったように、これは hook_ENTITY_TYPE_view() によって処理されるようになりました。

したがって、次のいずれかを使用できます。

hook_entity_view()

または

hook_node_view()

特にノードをターゲットにしている場合は、後者の方が理にかなっています。

17
Clive

D8バージョン8.1.1のhook_node_viewの例を次に示します

関数mymodule_node_view(array&$ build、\ Drupal\Core\Entity\EntityInterface $ entity、\ Drupal\Core\Entity\Display\EntityViewDisplayInterface $ display、$ view_mode){
 $ build [' body '] [0] ['#text '] ='これは新しく変更されたコンテンツの本文です '; 
} 
7
Anu Mathew