hook_nodeapi 的实现

announcement_nodeapi

这是 hook_nodeapi 的实现。这个函数使 announcement 模块能够在 Drupal 意识到要执行特定操作时执行适当操作。在这里,如果当前的 Drupal 操作是 “update index”,就将这个公告的摘要添加到搜索索引中。(细节参见 http://api.drupal.org/api/HEAD/function/hook_nodeapi。)

输入参数:$node
要处理的节点。
输入参数:$op
节点上要执行的操作,比如 “delete”、“update index”。
返回值
这取决于我们需要的操作,在我们的示例中返回要添加进索引的节点信息。

清单 24. hook_nodeapi 的实现

function announcement_nodeapi(&$node, $op) {
switch ($op) {
case 'update index':
if ($node->type == 'announcement') {
$text = '';
$q = db_query(
'SELECT a.abstract FROM node n LEFT JOIN announcement a ON '.
'n.nid = a.nid WHERE n.nid = %d', $node->nid);
if ($r = db_fetch_object($q)) {
$text = $r->abstract;
}
return $text;
}
}
}

taxonomy: