argument d'une vue - récupérer la valeur d'un champ du noeud

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

quand j'affiche un noeud pour un certain type de contenu, j'aimerai afficher une vue bloc, qui a comme argument un champ perso du dit noeud.
Est-ce possible en D7? Uniquement avec du code PHP ou je peux me débrouiller sans?
Est-ce que je dois faire un load des valeurs du noeud ou pas besoin?

Si je dois passer par un argument PHP, qu'est-ce que je dois indiquer dans la partie réservée à mon code PHP, pour récupérer ce champ en tant qu'argument?
Par exemple mon champ serait : field_example.

Version de Drupal : 

L'argument ou "contextual filter" dont tu as besoin existe de base

Dans "contextual filter" t uvas trouver :

Sous "When the filter value is NOT available" tu choisis "Provide default value" et tu sélectionne "Content ID from URL".

mmmm, non

l'argument n'est pas le nid mais un champ qui me permet un regroupement quelconque.
Mon nid a la valeur 11 et le champ argument de ma vue aurait la valeur 5.

dans View UI, quand je teste ma vue, si je mets cette valeur 5 comme argument, c'est OK.

mais quand j'affiche mon noeud, le bloc ne s'affiche pas, parce qu'il est vide.
il me semble que je demande à ma vue deux choses contradictoires : je lui demande d'accepter un argument sur mon champ-example et je lui dis aussi qu'il va le trouver dans l'url. Hors, via l'url, la vue va récupérer mon nid monsite/node/11, la valeur 11. Il me semble que c'est ce qu'il va faire quand je lui dis «Content ID from URL».
Ou est-ce que la vue comprend: l'argument passé dans l'url est le nid, et à partir de ce nid, débrouille-toi pour récupérer la valeur de mon champ dans le noeud et sert-en comme argument de ma vue??? J'en doute ... J'ai tord?

C'est pourquoi j'avais pensé qu'il me fallait du php, pour créer l'argument.

je suis à des années lumière du bon raisonnement? Etant moins souvent sur Drupal maintenant, j'ai peut-être perdu un peu mes réflexes.

tu peux certainement récupérer l'id nu noeud avec un argument php en faisant arg(1) et ensuite faire un entity_load pour charger ton noeud et aller chercher la valeur de ton fameux champs qui constitue l'argument. Mais bon ça fait un peu beaucoup... c'est peut être le moment d'envisager de faire ton bloc et son contenu à la main au lieu de faire une view

Merci pour ton avis.
Effectivement j'envisage un petit module maison.

ou eventuellement le module EVA: Entity Views Attachment : http://drupal.org/project/eva.
Le résultat ne serait pas un bloc, mais un attachement à un contenu. Avec eva, j'arrive à faire ce que je veux. Mais j'aurais bien aimé un bloc ...

Je vais m'occuper de tout ça dès que j'ai un peu de temps.