2010-08-02 300 views
1

我试图使用hook_search来扩展内置的drupal搜索以显式链接两种内容类型。搜索挂钩无法正常工作

ex。项目a和b是集合a的一部分。目前,如果您搜索收藏品的标题,您只能收藏a。我想扩展搜索范围,以便您获得项目& b,因为它们是该集合的成员。

我的代码目前的样子:

/** Implementation of hook_search() **/ 
function event_collection_search($op = 'search', $keys = NULL){ 
    var_dump($keys); echo '<--keys value'; 


    switch ($op) { 
     case 'search': 
      echo 'is this case statement being executed?'; 
      die; //MORE CODE BELOW BUT IT'S BROKEN BY THIS POINT ALREADY 

现在我的代码不会进入“搜索”的情况下,也我注意到,键是NULL?我究竟做错了什么?如何扩展搜索范围或至少访问我正在搜索的值?

编辑:我打电话'死'的目的。目前,我期待无论搜索案例是否被击中,键值都会被回显。理想情况下,我希望看到'是否正在执行这个case case语句',因此我知道搜索案例正在工作。现在NULL是关键值,第二个字符串没有被回显给我。我目前只获取集合节点的结果,但不是我已链接到集合节点的两个项目。

回答

0

Drupal不使用不返回hook_search('name')的值的搜索挂钩。

我不确定您是否可以使用echo来测试hook_search('search')是否被调用;如果你打电话给die(),那么你看到任何东西都是不可能的,因为在Drupal可以呈现搜索结果之前中断了Drupal的执行。