Drupal 8中的hook_node_view替代方案是什么?


7

我正在使用Drupal 8 Beta 14,并且要在预告片查看模式下编辑节点对象。正如hook_node_viewDrupal 8中删除的那样。有什么替代钩子或可用于编辑节点的其他方法?是hook_ENTITY_TYPE_view还是hook_entity_view其他?

谢谢。

Answers:


17

hook_node_view()还没有真正被删除,它的调用方式刚刚改变。如您所述,现在由处理hook_ENTITY_TYPE_view()

因此,您可以使用:

hook_entity_view()

要么

hook_node_view()

如果您专门针对节点,则后者会更有意义。


谢谢克莱夫,hook_node_view很高兴。但是我想知道它在哪里定义?我只能在NodeRSSContentTest.php文件中找到它。其次hook_ENTITY_TYPE_view,无论我做什么,都永远不会打电话。为什么会这样呢?
rashidkhan 2015年

1
因为ENTITY_TYPE是占位符-需要将其替换为实际的实体类型(因此将hook_node_view用于节点,hook_user_view用于用户,hook_profile2_view用于profile2实体等)
Clive

7

这是hook_node_viewD8版本8.1.1中的示例

函数mymodule_node_view(array&$ build,\ Drupal \ Core \ Entity \ EntityInterface $ entity,\ Drupal \ Core \ Entity \ Display \ EntityViewDisplayInterface $ display,$ view_mode){
   $ build ['body'] [0] ['#text'] ='这是一个新的更改内容主体';
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.