Besoin d'aide avec Views Relationships et Taxonomy

Events happening in the community are now at Drupal community events on www.drupal.org.
bohemier's picture

Cela fait quelques jours que je cherche comment accomplir quelque chose qui me semble facile mais je n'y arrive pas...

En bref, avec Drupal 7, j'essaie de créer une Vue qui contient des champs de deux types de contenus différents et dont la relation se fait avec les taxons et l'utilisateur courant. Voici les détails:

  • Vocabulaire de taxonomie: Type d'exercice - avec termes (ex: prévention, respiration, étirement)
  • Type de Contenu: Exercice - contient des termes de la taxonomie Type d'exercice
  • Type de Contenu: Évaluation - contient des termes de la taxonomie Type d'exercice, contient un champ Client (un User Reference)

But: Afficher à l'utilisateur courant tous les exercices ayant les mêmes taxons que son évaluation la plus récente

Voici ce que je pense que je devrais faire:

1- Créer une Vue présentant les noeuds de type Exercice
2- Créer une Relation Exercice <-> Évaluation selon la taxonomie Type d'exercice pour aller chercher les évaluations ayant les mêmes taxons
3- Créer une Relation Client <-> User pour pouvoir afficher le nom du client et faire le filtre contextuel
4- Créer un filtre contextuel pour le client dont la valeur par défaut est l'ID de l'utilisateur courant
5- Trier par date de soumission du noeud Évaluation, et aller chercher seulement le premier résultat

Je suis bloqué à 2... (et je ne suis pas certain de comment faire 5 encore...)

Lorsque j'ajoute une relation, je vois 3 choix possibles concernant les taxons:

Content: Type d'exercice (field_type_exercice) Appears in: node:exercice.
Content: Type d'exercice (field_type_exercice) Appears in: node:evaluation.
Content: Taxonomy terms on node

Lequel des 3 devrais-je utiliser? Suis-je sur la bonne piste?

Merci de vos lumières!

Comments

Ma flashlight s'est allumée

bohemier's picture

Ouf... j'y suis presque!

Le truc pour relier deux types de contenus via la taxonomie c'est de faire deux relations...

  • Une avec Content: Type d'exercice - le problème ici c'est que mes champs de taxonomie portent le même nom dans mes deux types de contenu, i.e.: Type d'exercice. On retrouve donc deux fois le choix "Content: Type d'exercice" dans la liste des relations, un pour le type Exercice et un pour le type Evaluation. Par chance, Views nous indique dans quel type de contenu apparait chaque choix. Il faut ajouter celui qui est dans le même type que la Vue
  • Une avec Taxonomy term: Content using Type d'exercice - même problème mais on n'a pas la chance de savoir de quel contenu il s'agit. Il faut choisir celui qui appartient à l'autre type contenu... soit par essai erreur ou en appellant les champs différemment pour chaque contenu.

Maintenant, je fais une troisième relation pour l'utilisateur courant en ajoutant le champ client et en créant un filtre contextuel pour l'ID utilisateur courant.

Ça fonctionne sauf que... Views sort toutes les évaluations au lieu de ne sortir que la plus récente, donc j'ai des doublons d'exercices lorsque plusieurs évaluations utilisent les même termes de taxonomie. Il faudrait maintenant aller chercher juste la denrière évaluation de l'utilisateur courant... Va-t-il faloir que je crée un filtre contextuel pour la date de création de l'évaluation? Ou y a-t-il une façon de faire une relation avec un "LIMIT" (sql) ?

Merci!

Quebec City - Ville de Québec

Group categories

Knowledge Base Vocab

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: