Afficher un contenu similaire avec views 3

Objectif appareil photo

Cette vue permet d'afficher tous les contenus ayant le(s) même(s) terme(s) de taxonomy que le contenu affiché.

Créez une vue de type block puis dans les options avancées

[[{"type":"media","view_mode":"media_original","fid":"114","attributes":{"alt":"filtres contextuels de views","class":"media-image","height":"185","style":"width: 408px; height: 185px;","typeof":"foaf:Image","width":"408"}}]]

Ajoutez un filtre contextuel sur le filtre Contenu : Possède un identifiant (ID) de terme de taxonomie

[[{"type":"media","view_mode":"media_original","fid":"115","attributes":{"alt":"Ajout filtre contextuel","class":"media-image","height":"117","style":"width: 496px; height: 117px;","typeof":"foaf:Image","width":"496"}}]]

Puis dans la configuration du filtre contextuel, cochez Fournir une valeur par défaut dans le paramètre quand la valeur de filtre N'EST PAS disponible, choisissez comme type de valeur Code PHP et saisissez le code php suivant où field_tags représente le nom machine de votre champs qui fait référence à un terme de taxonomy.

$node = node_load(arg(1));
if($node){
foreach (field_get_items('node', $node, 'field_tags') as $term ) {
$terms[] = $term['tid'];
}
return implode('+', $terms);
} else { return; }
[[{"type":"media","view_mode":"media_original","fid":"116","attributes":{"alt":"snippet PHP","class":"media-image","height":"480","style":"width: 688px; height: 480px;","typeof":"foaf:Image","width":"688"}}]]

Puis cochez l'option Supprimer les doublons

[[{"type":"media","view_mode":"media_original","fid":"117","attributes":{"alt":"suppresion doublons","class":"media-image","height":"118","style":"width: 663px; height: 118px;","typeof":"foaf:Image","width":"663"}}]]

Et dans la section Plus, cochez Autoriser plusieurs valeurs

[[{"type":"media","view_mode":"media_original","fid":"118","attributes":{"alt":"plusieurs valeurs","class":"media-image","height":"178","style":"width: 648px; height: 178px;","typeof":"foaf:Image","width":"648"}}]]

Puis Appliquer le filtre contextuel

[[{"type":"media","view_mode":"media_original","fid":"119","attributes":{"alt":"","class":"media-image","height":"43","style":"width: 271px; height: 43px;","typeof":"foaf:Image","width":"271"}}]]

Nous allons maintenant ajouter un autre filtre contextuel pour exclure de la liste le contenu affiché.

Ajoutez un filtre contextuel sur le filtre Contenu : Nid

[[{"type":"media","view_mode":"media_original","fid":"120","attributes":{"alt":"un autre filtre contextuel","class":"media-image","height":"211","style":"width: 603px; height: 211px;","typeof":"foaf:Image","width":"603"}}]]

Puis dans la configuration du filtre contextuel, cochez Fournir une valeur par défaut dans le paramètre quand la valeur de filtre N'EST PAS disponible, et choisissez comme type de valeur identifiant du contenu (ID) à partir de l'URL

[[{"type":"media","view_mode":"media_original","fid":"121","attributes":{"alt":"paramètres du filtre contextuel","class":"media-image","height":"359","style":"width: 529px; height: 359px;","typeof":"foaf:Image","width":"529"}}]]

Et pour finir dans la section Plus, cochez Exclure

[[{"type":"media","view_mode":"media_original","fid":"122","attributes":{"alt":"cochez exclure","class":"media-image","height":"237","style":"width: 645px; height: 237px;","typeof":"foaf:Image","width":"645"}}]]

Puis appliquez la configuration.

[[{"type":"media","view_mode":"media_original","fid":"123","attributes":{"alt":"on applique","class":"media-image","height":"43","style":"width: 271px; height: 43px;","typeof":"foaf:Image","width":"271"}}]]

Vous disposez désormais d'un bloc qui affichera tous vos articles qui disposent du même terme de taxonomy que l'article consulté, quelque soit le nombre de termes de taxonomy dont disposent les articles. Le bloc ne s'affiche pas s'il n'y a pas de contenus relatifs.

Source : Using Views 2 and Drupal 6 to Create a Related Pages Block

Ajouter un commentaire