我一生都无法弄清楚 drupal 中的 hook_search 函数的位置。我需要添加到文件中才能访问吗?
alan
问问题
1054 次
2 回答
3
钩子函数不按名称存在——它们表示可以遵循的命名约定来响应那个特定的“钩子”......
一个例子是node_search()函数。当搜索模块调用 module_invoke_all('search') 时,将调用所有名为foo _search() 的函数,其中foo是启用的模块的名称。可以在api.drupal.org上找到搜索钩子的详细信息。
于 2009-05-08T01:42:38.327 回答
1
function hook_search($op = 'search', $keys = null) {
switch ($op) {
case 'name':
return t('content');
case 'reset':
variable_del('node_cron_last');
return;
case 'search':
$find = do_search($keys, 'node', 'INNER JOIN {node} n ON n.nid = i.sid '. node_access_join_sql() .' INNER JOIN {users} u ON n.uid = u.uid', 'n.status = 1 AND '. node_access_where_sql());
$results = array();
foreach ($find as $item) {
$node = node_load(array('nid' => $item));
$extra = node_invoke_nodeapi($node, 'search result');
$results[] = array('link' => url('node/'. $item),
'type' => node_invoke($node, 'node_name'),
'title' => $node->title,
'user' => theme('username', $node),
'date' => $node->changed,
'extra' => $extra,
'snippet' => search_excerpt($keys, check_output($node->body, $node->format)));
}
return $results;
}
}
于 2010-11-11T08:27:07.073 回答