Drupal hook_views_post_execute没有被调用 [英] Drupal hook_views_post_execute not getting called

查看:159
本文介绍了Drupal hook_views_post_execute没有被调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图钩在Drupal 7中的 hook_views_post_execute 事件,我的模块叫 foo 位于 sites / default / modules / features / foo

I'm trying to hook into the hook_views_post_execute event in Drupal 7, my module called foo is located in sites/default/modules/features/foo.

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

My foo.module file contains a definition for the hook_views_api function, defined like this:

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

这个函数被调用,但是我的 hook_views_post_execute 不会这样定义(在同一个 foo.module 文件中):

This function gets called, but my implementation of the hook_views_post_execute does not, it's defined (in the same foo.module file) like this:

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文档,谷歌搜索和阅读我能够找到的每个博文。我只是不能让它上班钩子没有被调用。我假设我做了一些简单的错误,因为我不是一个drupal开发人员或PHP开发人员。

I've been over the drupal API/hooks documentation, googled and read every blog post I've been able to find. I just can't get it to work. The hook does not get called. I'm assuming I've done something simple wrong since I'm not a drupal developer or PHP developer normally.

推荐答案

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

The view has probably been cached so it doesn't go through that function.

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

Go to the top left and clear the cache and you should see the result.

这篇关于Drupal hook_views_post_execute没有被调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆