[Résolu] Afficher les champs d'autres nodes à partir du node affiché et d'un champs de type "node reference"

Catégories:

Salut à tous,

Pour mon projet sous Drupal 6, je cherche à afficher dans un bloc, la liste des utilisateurs reliées à un node (ici, ce sont les personnes (1-N) qui ont participé à la réalisation d’un projet).

J’ai donc un type de contenu Projet et un type de contenu Profil (module Profile Content). J’ai créé un champs de type «node reference» avec CCK pour le type Projet, qui me permet donc de relier plusieurs membres à un Projet.

Je cherche donc à insérer un bloc «Membres ayant participé à la réalisation du projet» dans le nodeview d’un Projet.

J’ai donc mon «nodeview» Projet, dans lequel j’insère une view de type «bloc».

Cette view «bloc» contient :

Champs : Avatar, Node Titre, Adresse mail, qui sont les champs du type Profil que je souhaite afficher pour chaque membre impliqué.

Filtres : Type=Profil, Publié=Oui

Ce qui évidemment affiche la liste de tous les membres du site, et pas seulement les membres impliqués dans la réalisation du projet. Je bloque à ce niveau là, je ne parviens pas à trouver la manière de passer comme condition ce fameux champs «node reference» qui contient la liste de tous les membres impliqués.

L’adresse de mon node Projet se compose ainsi : exemple.com/projet/NodeId

Je sais qu’en terme de context j’ai ce qu’il faut comme informations, à savoir l’ID du node Projet affiché, et que je suis censé pouvoir récupérer le champs «node refence» et faire ainsi la liaison avec les nodes de type Profil et les afficher dans un bloc. Mais je n’y parviens pas. Quelque chose m’échappe, je n’ai pas saisi la logique qui me permet de connecter ces données.

#

Donc si je résume tu as deux types de contenus : un profil et l’autre projet

Et tu affiche ton noeud projet dans une vue c’est bien ça ?

Alors sois tu as la possibilité de passer ton champ node reference en argument (ou peut etre en filtre)dans ta vue (pas sur j’ai pas de Drupal avec node reference sous la main), soit tu peux essayer d’utiliser Panels et le système de context, soit troisième possibilité voir du côté du module Context qui est taillé pour ça…

Si tu ne t’en sors pas dis nous ou tu bloques…

#

Oui tu as bien saisi :)

Je ne suis pas parvenu à mes fins en jonglant avec les arguments et les relations. Les filtres ne me permettent que de filtrer la liste des membres selon des choix en dur.

J’ai trouvé une solution basé sur un module : «Node reference views» qui permet d’afficher les champs d’un Node que l’on désire, à partir d’un champs de type «node reference» d’un autre Node. Ainsi donc je peux afficher l’avatar, le mail et d’autres informations des Membres reliés à un Projet.

Ce module est très simple et bien documenté ! J’aurais aimé parvenir à mes fins sans passer par un autre module, mais après tout c’est aussi ça la force de Drupal :)

Voici le lien vers le module «Node reference views» : http://drupal.org/project/nodereference_views

Syndiquer le contenu