Bonjour,
Voici mon problème :
J’ai créé une vue d’un bloc contextuel (via un élément de l’url). En gros, j’ai une page «/mapage», et quand j’ai l’url «mapage/montheme», le bloc affiche bien les éléments relatifs à «mon thème» (issues de la taxonomie donc)
Maintenant, chaque élément a 2 Catégories (disons «Catégorie 1» et «Catégorie 2»). Je désire séparer ces deux catégories en deux blocs distincts, donc je commence par rajouter un filtre sur le bloc créé pour ne cibler que la «Catégorie 1». Sauf que plus rien ne s’affiche !
Pourquoi ?
Je précise que j’ai créé une page à côté pour tester (une page non contextuelle) : filtre sur un thème, filtre sur «Catégorie 1», aucun problème. Le problème vient donc du bloc qui a peut-être du mal à faire la sélection des éléments correspondant à la fois au thème lié l’url ET à une catégorie spécifique.
Je vous mets en pièce jointe un screen de ma vue (qui fonctionne parfaitement dans la preview quand je rentre un thème). La zone jaune est l’endroit où j’ai ajouté le second filtre.
Voici ma procédure pour créer le second filtre :
- Je clique sur «Ajouter»
- Je choisi Contenu : «Catégorie (field_outil_categorie) Appears in : node:outil.»
- Je fais «Provide default value»
- Je mets «14» (c’est la bonne valeur correspondant à «Catégorie 1»)
- J’applique
Et plus rien ne s’affiche dans la preview lorsque je rentre le thème dans le champ Input.
| Fichier attaché | Taille |
|---|---|
| vue.jpg | 198.85 Ko |
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Ah au fait, autre détail !
Pour faire la liaison entre l’URL et le block, dans «Contextual filters» > (term) Terme de taxonomie : Nom , j’ai mis :
Provide default value > Type PHP Code >
if (arg(0) == 'node' && is_numeric(arg(1))) {$node = node_load(arg(1));
if (count($node->taxonomy) > 0) {
foreach ($node->taxonomy as $term) {
$term = $term->name;
}
}
$term = strtolower($term); // for some reason needed in my case
}
else {
$term = arg(1);
$term = str_replace('-', ' ', $term); // for some reason needed in my case
}
return $term;
Sinon la liaison ne se fait pas.
Peut-être qu’il faut ajouter quelque chose pour pouvoir utiliser un autre filtre ?
J’ai pas pu éditer mon message précédent, je n’ai donc pas pu mettre : merci beaucoup d’avance de votre aide !! :D
Ariakan
15
Un petit Up pour ajouter un test qui n’a pas fonctionné.
Dans la configuration du screen donc, tous les nodes avec le bon thème s’affiche.
Pour filtrer par thème, j’ai essayé de passer par «Filter criteria» (dans la colonne de gauche)
Je valide, et plus rien ne s’affiche.
Si je fais également «Is none of», «Is empty», etc… Rien ne se passe…. Alors que les deux filtres du dessus fonctionnent !
En espérant que cela vous aide, pour que vous puissiez m’aider !
Merci d’avance.
Ariakan
15
Personne pour m’aider… :(
Nouveau détail qui pourrait mener à une piste : je décide d’afficher dans les fields la description de l’élément, ça marche.
Je décide d’afficher la Catégorie : il ne me l’affiche pas ! Il y a juste marqué «Catégorie :», alors que les nodes ont bien la catégorie renseignée !
Pourquoi un field s’afficherait vide alors qu’il n’est pas censé l’être ?
edit : par contre, si j’ajoute dans les fields «Contenu : All taxonomy terms (All taxonomy terms)», j’ai bien le thème et la catégorie qui s’affichent…
Ariakan
15