Como modificar el header o footer de una Vista Drupal dinamicamente

Por: MaxMendez --

En ocaciones cuando trabajamos con el módulo Views al desarrollar un sitios web en Drupal, topamos con algunas limitaciones de la interfaz grafica de este maravilloso módulo, las cuales no nos permiten solucionar las necesidades que tenemos, gracias a la API tan amplica de este módulo por medio de la implementación de uno de sus hooks, podemos solventar estas limitaciones.

Trabajando en el desarrollo de un sitio para un cliente me surgio la necesidad de modificar de forma dinamica el encabezado de una vista, esto se realiza implementando el hook hook_views_pre_render(), las instrucciones que implementemos dentro de esté, se ejecutarán justo antes de iniciar las funciones que genera el despliegue de la vista.

 

Paso 1 (Implementar el hook en el módulo deseado)

  function mi_modulo_views_pre_render(&$view){

  }

 

Paso 2 (Asegurar que solo se ejecute para la vista y despliegue deseado)

  function mi_modulo_views_pre_render(&$view){
    
    if($view->name == 'nombre_de_mi_vista' && $view->current_display  == 'id_de_mi_display'){

    }

  }

 

Paso 3 (Modificar el header o footer)

  function mi_modulo_views_pre_render(&$view){
    
    if($view->name == 'nombre_de_mi_vista' && $view->current_display  == 'id_de_mi_display'){

       $handler = &$view->display[$view->current_display]->handler;
       $handler->set_option('header', '<h2>Nuevo header</h2>' );
       $handler->set_option('footer', '<h2>Nuevo footer</h2>' );
  }

 

Enlaces de Interés: