Drupal hook_views_post_execute没有被调用

thr*_*thr 5 php drupal drupal-views drupal-7 drupal-modules

我正试图hook_views_post_execute在Drupal 7中挂钩,我的模块叫做foo位于sites/default/modules/features/foo.

我的foo.module文件包含hook_views_api函数的定义,定义如下:

function foo_views_api() {
    return array("version" => 3.0);
}
Run Code Online (Sandbox Code Playgroud)

这个函数被调用,但是我的实现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;

}
Run Code Online (Sandbox Code Playgroud)

我已经浏览了drupal API/hooks文档,用Google搜索并阅读了我能够找到的每篇博文.我无法让它发挥作用.挂钩不会被调用.我假设我做了一些简单的错误,因为我通常不是drupal开发人员或PHP开发人员.

Vik*_*röm 5

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

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