Was ist die Alternative hook_node_view in Drupal 8?

7

Ich verwende Drupal 8 Beta 14 und möchte das Knotenobjekt im Teaser-Ansichtsmodus bearbeiten. Wie hook_node_viewin Drupal 8 entfernt. Was ist der alternative Hook oder eine andere Möglichkeit, den Knoten zu bearbeiten? Ist es hook_ENTITY_TYPE_viewoder hook_entity_viewoder etwas anderes?

Vielen Dank.

Rashidkhan
quelle

Antworten:

17

hook_node_view()wurde nicht wirklich entfernt, die Art und Weise, wie es aufgerufen wird, hat sich gerade geändert. Wie Sie bereits erwähnt haben, wird es jetzt von behandelt hook_ENTITY_TYPE_view().

Sie können also entweder verwenden:

hook_entity_view()

oder

hook_node_view()

Letzteres wäre sinnvoller, wenn Sie gezielt auf Knoten abzielen.

Clive
quelle
Danke Clive, hook_node_viewwird ausgewählt. Aber ich frage mich, wo es definiert ist? Ich konnte es nur in der Datei NodeRSSContentTest.php finden. Zweitens wird hook_ENTITY_TYPE_viewnie angerufen, egal was ich tue. Wieso ist es so?
Rashidkhan
1
Da ENTITY_TYPEein Platzhalter ist - es muss mit der tatsächlichen Entitätstyp ersetzt werden (so es wäre hook_node_viewfür einen Knoten, hook_user_viewfür einen Benutzer, hook_profile2_viewfür eine profile2 Einheit, und so weiter)
Clive
7

Hier ist das Beispiel für hook_node_viewin D8 Version 8.1.1

Funktion mymodule_node_view (Array & $ build, \ Drupal \ Core \ Entity \ EntityInterface $ entity, \ Drupal \ Core \ Entity \ Display \ EntityViewDisplayInterface $ display, $ view_mode) {
   $ build ['body'] [0] ['# text'] = 'Dies ist ein neuer geänderter Inhaltskörper';
}}
Anu Mathew
quelle