0

我正在使用 hook_node_view 来显示节点的内容而不是另一个节点。

function mymodule_node_view($node, $view_mode, $langcode) {
  if ($node->nid == 89) {
    $room = node_load(90);

    $node->content['mymodule_additional_content'] = node_view($room);
  }
}

节点 90 的模板显示“ROOM”文本(用于测试)。

但这里显示的不仅仅是 "ROOM" :

房间

语言法语

加巴里特:

页面/chambres.tpl.php

任何的想法 ?

编辑:如果我将第 5 行替换为:

    $node->content = array('mymodule_additional_content' => node_view($room));

因此删除之前添加到 $node->content 的所有其他内容,我得到了结果:

房间

语言法语

这意味着在调用钩子之后添加“Language Français”。但是哪里 ?

4

1 回答 1

0

@Clive 的工作答案:

这将是另一个模块,它实现了在您之后运行的相同钩子,因此您的更改会被添加到。尝试遵循如何更新模块的权重指南,以使您的模块的钩子在任何其他钩子之后运行,这应该可以解决问题。

于 2012-10-31T13:59:53.773 回答