编程语言
首页 > 编程语言> > php – Drupal hook_views_post_execute没有被调用

php – Drupal hook_views_post_execute没有被调用

作者:互联网

我正在尝试挂钩Drupal 7中的hook_views_post_execute事件,我的模块foo位于sites / default / modules / features / foo中.

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

解决方法:

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

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

标签:php,drupal,drupal-7,drupal-modules,drupal-views
来源: https://codeday.me/bug/20190521/1148664.html