首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时将hook_search()的hook_search参数定义为'search'?

何时将hook_search()的hook_search参数定义为'search'?
EN

Stack Overflow用户
提问于 2011-06-20 20:07:12
回答 1查看 266关注 0票数 0

编辑

这里的基本问题是“何时将$op参数定义为'search'"?

我正在尝试在hook_search()的实现中创建一个自定义搜索。我一直在查看Drupal文档中的方法:http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_search/6

我知道该方法正在运行,因为我可以将一个die('killed inside of implementation of hook_search()')插入函数的顶部并查看输出。

在下面的代码中,脚本永远不会被杀死,这样我就可以看到输出search caught inside of my_search()。这使我相信,开关语句的“搜索”案例永远不会启动。有人知道我可能会去哪吗?

代码语言:javascript
复制
/**
* Implementation of hook_search()
*/
function my_search($op = 'search', $keys = NULL) {
  switch($op)
  {
    case 'search':
        die('search caught inside of my_search()');
        break;
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-20 21:00:42

首先要做的是。

假设您的模块名为“my”,尝试转到URL /search/my/随便什么--您可能会看到访问禁止页面(假设您的代码中除了您在问题中粘贴的内容之外没有其他内容)。

这是因为当搜索模块用$op = 'name‘调用钩子时不返回任何内容(参见search.module中的_search_menu() )。您需要返回“定义使用此模块搜索的项目类型的翻译名称('content‘、'users’、.)”--请参阅http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_search/6和禁用的访问。

一旦完成,搜索将再次调用您的钩子(实际上,有相当多的调用,例如,您可以在钩子中使用drupal_set_message( $op )来查看它们的全部),其中一个调用也将带有$op= " search“(来自search.module中的search_data() )。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6416824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档