2011-04-30 3 views
5

J'essaie de me connecter à l'événement hook_views_post_execute dans Drupal 7, mon module appelé foo se trouve au .Drupal hook_views_post_execute ne pas se faire appeler

Mon fichier foo.module contient une définition de la fonction hook_views_api, définie comme ceci:

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

Cette fonction est appelée, mais ma mise en œuvre du hook_views_post_execute ne pas, il est défini (dans le même fichier foo.module) comme ceci:

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; 

} 

J'ai été sur l'API/crochets documentation drupal, googlé et lisez chaque billet de blog que je suis en mesure de trouver. Je ne peux tout simplement pas le faire fonctionner. Le crochet ne s'appelle pas. Je suppose que j'ai fait quelque chose de mal parce que je ne suis pas un développeur drupal ou un développeur PHP normalement.

Répondre

5

La vue a probablement été mise en cache afin qu'elle ne passe pas par cette fonction.

Allez en haut à gauche et videz le cache et vous devriez voir le résultat.

Questions connexes