Drupal 7 - Views - Créer un champ calculé personnalisé

Dans views quand l'on veut avoir un champ personnalisé un peu tiré par les cheveux, on peut y aller comme un porc en utilisant le hook_views_pre_render ou alors on peut definir un custom field.

Première étape, implémenter le HOOK_views_data() afin de définir le champ :

function MON_MODULE_views_data() {
  $data['acaps_user']['table']['group'] = t('User'); // groupement de field dans lequel sera placé notre champ custom dans views
  $data['acaps_user']['table']['join'] = array(
    '#global' => array(),
  );

  $data['acaps_user']['countries_followed'] = array(
    'title' => t('Mon nom de champ'),
    'help' => t('Ma description de champ'),
    'field' => array(
      'handler' => 'views_handler_mon_champ_custom', //doit correspondre au nom de la classe definie plus bas
    ),
  );

  return $data;
}

 

Deuxième étape définir la classe qui contiendra le calcul du champ :

<?php
class views_handler_mon_champ_custom extends views_handler_field {
  function render($values) {
    return t("C'est ici que l'on peut faire les traitement et que l'on doit retourner le contenu du champ");
  }
}

 

 

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...