2011-04-30 15 views
5

Estoy tratando de conectarme al evento hook_views_post_execute en Drupal 7, mi módulo llamado foo se encuentra en .Drupal hook_views_post_execute no se llama

Mi archivo foo.module contiene una definición de la función hook_views_api, que se define así:

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

Esta función se llama, pero mi aplicación de la hook_views_post_execute no lo hace, se define (en el mismo archivo foo.module) como esto:

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; 

} 

he estado sobre la documentación de la API de Drupal/ganchos, buscado en Google y leer cada entrada del blog que he podido encontrar. Simplemente no puedo hacer que funcione. El gancho no se llama. Supongo que he hecho algo simple mal, ya que normalmente no soy desarrollador de drupal o desarrollador de PHP.

Respuesta

5

La vista probablemente ha sido almacenada en caché por lo que no pasa por esa función.

Ve a la esquina superior izquierda y borra la caché y deberías ver el resultado.