如何在hook_exit中打印$ node

时间:2015-01-08 05:38:20

标签: drupal-7 hook

我有一个要求,我想要插入几个值,具体取决于节点是否为' news',但是当我尝试使用以下代码执行此操作时,它似乎无效,可能有人帮助代码,

function hook_exit() {
  if (isset($node) && $node->type == 'event') {
    print_r('This is an event');
  }
}

2 个答案:

答案 0 :(得分:0)

根据Drupal 7 API Reference for hook_exit

  

此钩子不能打印任何东西,因为在它运行时,响应已经发送到浏览器。

如果您想要在Drupal从数据库加载节点时向节点添加信息,请尝试使用hook_node_load。例如:

function yourmodule_node_load($nodes, $types) 
{
  foreach ($nodes as $node) 
  {
    // To add or override a node attribute
    $node->myvar = "Value"; 

    // To print some data from the node
    print_r($node->title);
  }
}

答案 1 :(得分:0)

为了满足我获取类型的要求,我做的是检查了url,取了第二个参数并将其作为node_load函数的参数传递。这有点棘手,但它为我完成了这项工作。

function tru_statistics_exit() {
  if ((arg(0) == 'node') && is_numeric(arg(1)) && arg(2) == '') {
    $nid = arg(1);
    $node = node_load($nid); 
    if ($node->type == 'event') {
      get_details_visitor();
    }
  }
}

希望有人能找到这个有用的