Views PHP filter

Comme son nom l'indique, ce module permet de créer des filtres personnalisés pour le module Views. Par défaut, les filtres de Views sont combinés avec un opérateur binaire AND. Or je voulais pouvoir filtrer la vue suivant la taxonomie 'membre' suivant que l'utilisateur était anonyme ou non.

Voici le code snippet utilisé :

  • dans les filtres de Views, rajouter un filtre de type "Node ID PHP"
  • dans la configuration du filtre, cliquer sur : "exclude these IDs"
  • dans la textarea "PHP", rentrez le code suivant :

<code> global $user; $uid = $user->uid; $nids = array(); if (!$uid) {

 // anonymous user;
 $result = db_query("SELECT node.nid FROM node node LEFT JOIN term_node term_node ON node.vid = term_node.vid LEFT JOIN term_data term_data ON term_node.tid = term_data.tid WHERE (term_data.name)  NOT LIKE ('%membre%');");
 while ($row = db_fetch_array($result)) {
   $nids = $row'nid';
 }
 return $nids;

} ?> </code>