2011-03-10 4 views
0

Est-il possible de limiter les noeuds d'un champ de référence de noeud aux noeuds créés par l'utilisateur actuel?Restriction des noeuds pouvant être référencés

Imaginez un nœud du type x & plusieurs nœuds du type y. Le noeud x a un nombre illimité de champ de référence de noeud aux noeuds du type y.

MISE À JOUR:

Un utilisateur doit faire référence à plusieurs expériences pour montrer sa qualification pour un certain projet. Toutes ses expériences sont des nœuds du type "project_experience" qui doit champs:
1. un projet (référence de nœud au type de contenu "projet")
2. une description de la fonction et de l'expérience dans ce projet.

Lors de la création d'un nœud "application_projet", l'utilisateur doit décider quelles expériences/projets sont spécifiques au projet auquel il s'applique.

+0

Votre question n'est pas claire, plus de détails s'il vous plaît ... – Nikit

+0

thx, j'ai essayé de clarifier le problème! – jumper

+0

Il est important de souligner que je parle ici de Drupal 7! – jumper

Répondre

1

Oui, il est possible de le faire en créant une vue qui a un argument pour l'utilisateur actuellement connecté. La vue doit afficher tous les nœuds du type de référence de nœud.

Dans le champ de référence de noeud, vous pouvez sélectionner la vue.

http://drupal.org/node/289738 devrait juste vous donner un aperçu de la façon dont les vues peuvent être utilisées avec le champ de référence de nœud.

+0

Merci beaucoup, cela sera utile pour créer une vue d'ensemble de l'ensemble "application" comme je l'ai mentionné ci-dessus. Mais le problème n'est pas la vue, mais la forme qui est présentée à l'utilisateur créant le noeud. – jumper

+0

La vue est utilisée pour l'ensemble de sélection. cliquez sur Avancé dans les paramètres de la référence de noeud. – mirzu

+0

Thx, maintenant je comprends le commentaire dans http://drupal.org/project/references -> Toujours manquant: la fonction «nœuds référencables/utilisateurs définis par une vue». Merci pour votre réponse, semble que je dois attendre un peu de temps pour le support complet de Drupal 7. – jumper

0

Voici ce que j'ai fait pour une solution temporaire (solution très laide) en attendant la publication Références Références de référence de nœud avancées.

Créer un patch pour node_reference.module (version: références-7.x-2.x-dev, 2011-Mar-27)

trouver la fonction _node_reference_potential_references_standard,

ajouter cette après la déclaration de la fonction:

global $user; 
$uid = $user->uid; 

après cette ligne: $ node_type_alias = $ query-> addField ('n', 'type', 'NODE_TYPE'); ajouter:

$node_uid_alias = $query->addField('n', 'uid', 'node_uid'); 

après cette ligne: $ query-> condition ('n.type', $ champ [ 'réglages'] [ 'referenceable_types'], 'IN'); ajouter:

$query->condition('n.uid', $uid, '='); 

Encore une fois, ce n'est pas une bonne solution, juste au cas où vous pourriez être intéressé.

Questions connexes