Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/11/2014, 05:27
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 5 meses
Puntos: 8
Respuesta: Modificando campo Global de una view

Bueno me respondo a mi mismo, he logrado hacer lo que quería, pero tuve que tirar de una función de theming, he sobrescrito la salida del campo "nothing" de la siguiente forma:


Código:
/**
Código:
 * Implements hook_views_pre_render().
* Esto en el módulo.
 */
function MyModule_user_views_pre_render(&$view) {


  if ($view->name == 'employers') {
    $results = &$view->result;
    foreach ($results as $key => $result) {

  
      $interval = REQUEST_TIME - variable_get('user_block_seconds_online', 1200);

      $items = db_query_range('SELECT u.uid, u.name, MAX(s.timestamp) AS max_timestamp FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE u.uid=:uid AND s.timestamp >= :interval AND s.uid > 0 GROUP BY u.uid, u.name ORDER BY max_timestamp DESC', 0, 1, array(':uid' => $result->uid, ':interval' => $interval))->fetchAll();

// NECESITO ELIMINAR ENLACE DE ESTE  CAMPO.
      if (empty($items)) {
         $result->uid = FALSE;
      } 
    }
  }
}
/* * Y esto en el template.php de l theme * function MyTheme_preprocess_views_view_fields(&$vars) { // var_dump($vars['fields']['uid']->content); $view = $vars['view']; if ($view->name != 'employers' /*&& $view->current_display != 'mymod_display'*/) { return; } foreach ($view->field as $id => $field) { if ($vars['fields']['uid']->content){ $vars['fields']['nothing']->content = 'Online'; } } }
Sigo sin estar contento del todo, porque me hubiera gustado hacer esto desde mi módulo, pero por ahora me conformo así.
__________________
Videotutoriales de Drupal