Afficher une liste de termes combinant le terme courant et le terme sélectionné
Par Julien, le lun, 13/10/2008 - 19:09
Imaginez que vous vous trouviez sur la page taxonomy/term/*. Un bloc présente une liste de termes, générés à partir du module Views. Ce que l'on veut faire ici, c'est qu'en cliquant sur l'un de ces termes, on obtienne une liste de nodes appartenant à la fois au terme en cours et au terme cliqué.
- Il nous faut tout d'abord créer une vue listant des termes. Il suffit pour cela de créer une vue de type Taxonomie, puis de lui ajouter le champ Taxonomy : Term
- Ensuite, nous allons modifier un peu le thème de cette vue. En l'occurrence, le fichier correspondant à notre champ. Il s'agit des thèmes dérivés de views-view-field.tpl.php :
<?php
if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2)) {
$arg = split(',', arg(2));
$arg = $arg[0];
}
print l($output, 'taxonomy/term/'.$arg.','.$row->tid);
?>
Une petite explication : Si l'on est bien sur la page taxonomy/term/*, on remplace le lien du terme par une combinaison du terme courant et du terme du lien.
Malheureusement, si on utilise la version de Views de la page taxonomy/term, les termes ne sont pas combinés avec le séparateur "," ! Il semble qu'il s'agisse d'une limitation actuelle de Views. Voici ce qu'on peut lire dans le paramèetre argument de la vue taxonomy_term :
If selected, users can enter multiple arguments in the form of 1+2+3. Due to the number of JOINs it would require, AND will be treated as OR with this argument.
il faut donc se contenter de la version du core pour l'instant ! 