O que é a alternativa hook_node_view no Drupal 8?


7

Estou usando o Drupal 8 Beta 14 e quero editar o objeto nó no modo de exibição de teaser. Como hook_node_viewé removido no Drupal 8. Qual é o gancho alternativo ou alguma outra maneira que eu possa usar para editar o nó? É hook_ENTITY_TYPE_viewou hook_entity_viewou alguma outra coisa?

Obrigado.

Respostas:


17

hook_node_view()não foi realmente removido, a maneira como é chamada acabou de mudar. Como você mencionou, agora é tratado por hook_ENTITY_TYPE_view().

Então você pode usar:

hook_entity_view()

ou

hook_node_view()

O último faria mais sentido se você estiver segmentando nós especificamente.


Obrigado Clive, hook_node_viewé escolhido. Mas eu estou querendo saber onde é definido? Eu poderia encontrá-lo apenas no arquivo NodeRSSContentTest.php. Em segundo lugar, hook_ENTITY_TYPE_viewnunca é chamado, não importa o que eu faça. Por que é tão?
Rashidkhan #

11
Porque ENTITY_TYPEé um espaço reservado - ele precisa ser substituído com o tipo de entidade real (por isso seria hook_node_viewpara um nó, hook_user_viewpara um usuário, hook_profile2_viewpara uma entidade profile2, e assim por diante)
Clive

7

Aqui está o exemplo para o hook_node_viewD8 versão 8.1.1

função mymodule_node_view (matriz e $ build, \ Drupal \ Núcleo \ Entidade \ EntidadeInterface $ entidade, \ Drupal \ Núcleo \ Entidade \ Exibição \ EntityViewDisplayInterface $ exibição, $ view_mode) {
   $ build ['body'] [0] ['# text'] = 'este é um novo corpo de conteúdo alterado';
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.