Ограничить, на какие узлы можно ссылаться - PullRequest
0 голосов
/ 10 марта 2011

Можно ли ограничить узлы в ссылочном поле узла узлами, которые были созданы текущим пользователем?

Представьте себе один узел типа x и несколько узлов типа y. Узел x имеет неограниченное количество ссылочных полей узлов для узлов типа y.

UPDATE:

Пользователь должен сослаться на несколько событий, чтобы показать свою квалификацию для определенного проекта. Все его опыты - это узлы типа "project_experience", которые имеют поля: 1. один проект (ссылка на узел типа контента "проект")
2. одно описание функции и опыта в этом проекте.

При создании узла "project_application" пользователь должен решить, какой из его опытов / проектов является специфическим для проекта, к которому он обращается.

Ответы [ 2 ]

1 голос
/ 10 марта 2011

Да, это можно сделать, создав представление, которое имеет аргумент для текущего пользователя, вошедшего в систему.Представление должно отображать все узлы ссылочного типа узла.

В поле ссылки на узел вы можете выбрать представление.

http://drupal.org/node/289738 должно просто дать вам пониманиекак представления могут использоваться с полем ссылки на узел.

0 голосов
/ 28 марта 2011

Вот что я сделал для временного решения (очень уродливого решения), ожидая, когда References выпустит функцию Advanced Node Reference Views.

Создание патча для node_reference.module (версия: reference-7.x-2.x-dev, 2011-mar-27)

найти функцию _node_reference_potential_references_standard,

добавить это после объявления функции:

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

после этой строки:$ node_type_alias = $ query-> addField ('n', 'type', 'node_type');добавьте:

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

после этой строки: $ query-> condition ('n.type', $ field ['settings'] ['referenceable_types'], 'IN');добавьте:

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

Опять же, это не очень хорошее решение, на случай, если вам может быть интересно.

...