Apa alternatif hook_node_view di Drupal 8?

7

Saya menggunakan Drupal 8 Beta 14 dan saya ingin mengedit objek simpul dalam mode tampilan penggoda. Seperti hook_node_viewyang dihapus di Drupal 8. Apa kait alternatif atau cara lain yang bisa saya gunakan untuk mengedit simpul? Apakah itu hook_ENTITY_TYPE_viewatau hook_entity_viewsesuatu yang lain?

Terima kasih.

rashidkhan
sumber

Jawaban:

17

hook_node_view()belum benar-benar dihapus, cara itu dipanggil baru saja berubah. Seperti yang Anda sebutkan, sekarang ditangani oleh hook_ENTITY_TYPE_view().

Jadi Anda bisa menggunakan:

hook_entity_view()

atau

hook_node_view()

Yang terakhir akan lebih masuk akal jika Anda menargetkan node secara spesifik.

Clive
sumber
Terima kasih Clive, hook_node_viewterpilih. Tapi saya bertanya-tanya di mana itu didefinisikan? Saya bisa menemukannya hanya di file NodeRSSContentTest.php. Kedua hook_ENTITY_TYPE_viewtidak pernah dipanggil, apa pun yang saya lakukan. Kenapa gitu?
rashidkhan
1
Karena ENTITY_TYPEplaceholder - perlu diganti dengan tipe entitas yang sebenarnya (jadi hook_node_viewuntuk node, hook_user_viewuntuk pengguna, hook_profile2_viewuntuk entitas profile2, dan sebagainya)
Clive
7

Berikut adalah contoh untuk hook_node_viewdi D8 versi 8.1.1

function mymodule_node_view (array & $ build, \ Drupal \ Core \ Entity \ EntityInterface $ entitas, \ Drupal \ Core \ Entity \ Display \ EntityViewDisplayInterface $ display, $ view_mode) {
   $ build ['body'] [0] ['# text'] = 'ini adalah isi yang baru diubah';
}
Anu Mathew
sumber