Comment altérer les filtres d'une vue dans un champ de type nodereference?

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 tout le monde,

J'ai 3 types de contenu construits avec CCK: événements, ressources et contacts (j'ai créé un noeud spécifique pour les contacts, parce que tous les contacts dans la base de données ne seront pas des utilisateurs).
Dans mon noeud événements, je peux définir des dates multiples (en utilisant un champ datetime), les contacts et les ressources (en utilisant des champs de type nodereference).
Jusqu'à présent, tout est ok: Quand je crée un évènement, je renseigne les contacts et les ressources, et le calendrier de chaque contact ou ressource est construit automatiquement.

Ce que j'essaie de faire: quand je crée un événement, j'aimerais avoir dans mon champ nodereference (personnes et ressources) uniquement les contacts et les ressources qui sont disponibles à la (aux) date(s) de l'événement. J'ai essayé le module "ressource conflict", mais ça ne correspond pas à mes attentes: la vérification est faite lorsque le formulaire en entier a été soumit.

J'ai installé le module multistep, et divisé mon formulaire en 2 étapes (j'aurez peut-être besoin d'une troisième étape pour d'autres implémentations ...):
étape 1: dates de l'événement, et des champs additionnels (description, localisation ...)
étape 2: Programmation de l'événement (assignation des contacts et des ressources)

Si j'ai bien comprit le workflow des formulaires multistep, le nœud est créé lorsqu'on clique sur "Suivant" à la première étape. J'ai écrit un petit module de test en utilisant hook_form_alter(), et j'ai pu passer mes valeurs des champs dates de l'étape 1 à l'étape 2. Mes champs de type nodereference sont basées sur une vue simple, parce que je voulais avoir les valeurs de 2 champs (nom et prénom pour les contacts). J'ai essayé d'intercepter mes valeurs dates avec hook_views_pre_render(), mais sans succès. J'ai même essayé de définir une fonction personnalisée pour récupérer cette valeur, toujours sans succès.

Est-ce que quelqu'un sait comment faire cela? J'ai vraiment besoin de prendre ces valeurs pour construire ma requête personnalisée dans un fichier. Tpl.php.

Merci

Forum : 
Version de Drupal :