Le but est d'afficher, à l'aide d'une vue dans un bloc, du contenu contextuel en fonction du nœud principal.
Dans la configuration de la vue, dans un argument de type "Taxonomy: Term id", il faut cocher "Provide default argument" dans la section "Action to take if argument is not present:".
Ensuite on choisit "PHP Code" et on insère le code suivant (sans les balises php):
<?php
$vid = 2;
if (arg(0) != 'node') return '0';
if (!is_numeric(arg(1))) return '0';
$node = node_load(arg(1));
$terms = taxonomy_node_get_terms_by_vocabulary($node, $vid, 'tid');
return join('+', array_keys($terms));
?>Ici, nous voulons récupérer les ids de termes de taxonomie d'un vocabulaire ($vid=1) d'un nœud (taxonomy...).
Finalement une chaîne de caractère est retournée; elle contient les ids séparés par des plus, permettant de faire l'opération OU (mettre ',' à la place de '+' pour l'opération ET).
La partie conditionnel if garantie que la fonction retourne quelque chose: le noeud 5 existe et a utilise le vocabulaire 2.