2011-04-30 93 views
5

我试图挂钩Drupal 7中的hook_views_post_execute事件,我的模块foo位于。Drupal hook_views_post_execute没有被调用

foo.module文件包含hook_views_api函数的定义,这样的定义:

function foo_views_api() { 
    return array("version" => 3.0); 
} 

这个函数被调用,但我实现了hook_views_post_execute不会,它的定义(在同一foo.module文件)像这个:

function foo_views_post_execute(&$view) { 

    $seen_rows = array(); 
    $newResults = array(); 

    for($i = 0; $i < count($view->result); ++$i) { 
     if (!in_array($view->result[$i]->nid, $seen_rows)) { 
      $newResults[] = $view->results[$i]; 
     } 

     $seen_rows[] = $view->result[$i]->nid; 
    } 

    $view->result = $newResults; 

} 

我已经在Drupal API /钩子文档,谷歌搜索和阅读每一篇博客文章,我已经能够找到。我只是无法让它工作。挂钩不会被调用。我假设我做了一些简单的错误,因为我通常不是drupal开发人员或PHP开发人员。

回答

5

该视图可能已被缓存,因此它不会经过该功能。

转到左上角并清除缓存,您应该看到结果。