找出要使用的钩子

时间:2012-01-31 14:38:24

标签: drupal-6 drupal-modules drupal-hooks

如果这个问题有一个简单的答案,请原谅。

我正在开发一个类似于nodereferences_url的模块。

任何人都可以告诉我实现哪个Drupal钩子将链接中的链接放入节点内容区域,如附图中突出显示的那样?

谢谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

它是hook_link(),描述为:

  

这个钩子使模块能够添加到Drupal的许多部分的链接。例如,可以在节点或导航块中添加链接。

     

返回的数组应该是链接条目的键控数组。每个链接可以采用两种格式之一。

该钩子的实现示例是node_link(),其中包含以下代码:

function node_link($type, $node = NULL, $teaser = FALSE) {
  $links = array();

  if ($type == 'node') {
    if ($teaser == 1 && $node->teaser && !empty($node->readmore)) {
      $links['node_read_more'] = array(
        'title' => t('Read more'), 
        'href' => "node/$node->nid",
        // The title attribute gets escaped when the links are processed, so
        // there is no need to escape here. 
        'attributes' => array('title' => t('Read the rest of !title.', array('!title' => $node->title))),
      );
    }
  }

  return $links;
}

当节点内容超过预告片中已显示的内容时,这就是在节点预告片中添加“阅读更多”链接的代码。

注意到为节点和注释调用了钩子。如文档中所述,$type参数可以包含以下值:

  • “comment”:链接位于正在查看的评论下方。
  • “node”:链接放置在正在查看的节点下方。