如何在 hook_exit 中打印 $node

How to print $node inside hook_exit

我有一个要求,我想根据节点是否属于 'news' 类型插入几个值,但是当我尝试使用以下代码执行此操作时,它似乎不起作用,有人可以帮忙吗使用代码,

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

根据 Drupal 7 API Reference for hook_exit:

This hook MUST NOT print anything because by the time it runs the response is already sent to the browser.

如果您想在 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);
  }
}

为了满足我获取类型的要求,我所做的是检查 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();
    }
  }
}

希望有人会觉得这有用