Answers:
hook_node_view()
还没有真正被删除,它的调用方式刚刚改变。如您所述,现在由处理hook_ENTITY_TYPE_view()
。
因此,您可以使用:
hook_entity_view()
要么
hook_node_view()
如果您专门针对节点,则后者会更有意义。
ENTITY_TYPE
是占位符-需要将其替换为实际的实体类型(因此将hook_node_view
用于节点,hook_user_view
用于用户,hook_profile2_view
用于profile2实体等)
这是hook_node_view
D8版本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'] ='这是一个新的更改内容主体'; }
hook_node_view
很高兴。但是我想知道它在哪里定义?我只能在NodeRSSContentTest.php文件中找到它。其次hook_ENTITY_TYPE_view
,无论我做什么,都永远不会打电话。为什么会这样呢?