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

Posté le Mercredi 2 mars 2016 - 09:22
Dernière mise à jour le Vendredi 26 janvier 2018 - 18:35

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é

HTML restreint

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.