doudongdang4483
2015-10-14 07:46
浏览 40
已采纳

drupal7使用hook_node_view向页面添加信息

very new to Drupal. I am trying to add a simple "hello world" string to a drupal page when it loads using hook_node_view. My code so far:

function myModule_node_view($node, $view_mode, $langcode) {
    if ($view_mode == 'full' && $node->type == 'page') {
        $node->content['myText'] = array(
            '#markup' => '<h1>HELLO WORLD</h1>',
        );
    }
}

From my understanding, when the page is loading, each node will call hook_node_view and if the node type is page if should add my hello world string to the end of its text. I'm sure this understanding is completely wrong but I'm unsure where to go from here. Any help would be greatly appreciated.

Eventually, hello world will be dynamic content and I want it to print to the top of every drupal page.

Thanks!

图片转代码服务由CSDN问答提供 功能建议

Drupal非常新。 我正在尝试使用hook_node_view加载一个简单的“hello world”字符串到drupal页面。 到目前为止我的代码:

  function myModule_node_view($ node,$ view_mode,$ langcode){
 if($ view_mode =='full'&amp;&amp; $ node-  &gt; type =='page'){
 $ node-&gt; content ['myText'] = array(
'#markup'=&gt;'&lt; h1&gt; HELLO WORLD&lt; / h1&gt;',
  ); 
} 
} 
   
 
 

根据我的理解,当页面加载时,每个节点都会调用hook_node_view,如果节点类型是page,则应该添加 我的hello world字符串到它的文本末尾。 我确信这种理解是完全错误的,但我不确定从哪里开始。 任何帮助将不胜感激。

最后,hello world将是动态内容,我希望它打印到每个drupal页面的顶部。

谢谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doudeng9425 2015-10-14 09:47
    已采纳

    Add weight

    function myModule_node_view($node, $view_mode, $langcode) {
        if ($view_mode == 'full' && $node->type == 'page') {
            $node->content['myText'] = array(
                '#markup' => '<h1>HELLO WORLD</h1>',
                '#weight' => -1 // negative will brings to the top
            );
        }
    }
    
    点赞 打赏 评论

相关推荐 更多相似问题