限制可以引用哪些节点

时间:2011-03-10 01:48:21

标签: drupal cck drupal-7

是否可以将节点引用字段中的节点限制为由当前用户创建的节点?

想象一下x&类型的一个节点y类型的几个节点。节点x具有到y类型节点的无限数量的节点引用字段。

更新

用户必须参考几个经验来展示他对某个项目的资格。他的所有经历都是“project_experience”类型的节点,其中包含以下字段:
1.一个项目(节点引用内容类型“项目”)
2.对该项目的功能和经验的一种描述。

在创建节点“project_application”时,用户应该决定他的哪些经验/项目特定于他正在申请的项目。

2 个答案:

答案 0 :(得分:1)

是的,可以通过创建一个具有当前登录用户参数的视图来实现。视图应显示节点引用类型的所有节点。

在节点参考字段中,您可以选择视图。

http://drupal.org/node/289738应该让您深入了解视图如何与节点参考字段一起使用。

答案 1 :(得分:0)

这是我在等待References发布高级节点参考视图功能时为临时解决方案(非常难看的解决方案)所做的。

为node_reference.module创建补丁(版本:references-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, '=');

同样,这不是一个好的解决方案,以防您可能感兴趣。