Drupal:帮助内容类型创建&链接节点

时间:2010-11-12 14:14:02

标签: drupal drupal-6 content-type

我遇到有人可以创建工作内容类型的情况。我添加了一个与“组织”内容类型相关的CCK字段。因此,当有人创建新的职位发布时,他们可以选择该职位所在的组织(自动完成)。问题是我可以创建一份新工作并选择任何组织,即使我自己没有创建该组织。

有没有办法可以限制某人在该字段中输入的内容为1.存在的组织名称,以及2.属于该用户的组织?

我正在使用drupal 6.

最值得赞赏的任何帮助!

Jonesy

3 个答案:

答案 0 :(得分:1)

您可以将php规则用于节点引用字段的允许值数组,我认为在您的情况下需要对当前用户生成的所有节点运行快速查询。

我没有测试过这段代码,但是如果我理解了这个问题,它应该与你所接受的内容相当接近!

global $user; //make sure we have access to the user

//find all the job organisation nodes made by this user 
//(replace organisation with the actual name of your content type)
$query = db_query("select nid from {node} where type = 'organisation' and uid = %d", $user->uid);

//put the results in the values array
$values = array()
while($result = db_fetch_result($query)){
  $values[] = $result;
}

答案 1 :(得分:0)

我不在一个可以轻松检查的地方,但你也可以尝试在编辑页面上使用select,并用视图显示选项。然后,创建内容类型的视图,并检查节点用户是否为登录用户。

答案 2 :(得分:0)

您可以使用Nodereference字段。

它是自动完成的,在字段设置的底部,您可以选择一个视图来过滤可以引用的节点(它被称为“高级 - 可以引用的节点(视图)”)

只需创建一个View,将节点限制为当前登录用户创建的节点,并在Nodereference设置页面上使用该节点。 使用该选项,删除位于“高级”设置上方的“可引用的内容类型”选项。 因此,请确保在节点类型上添加过滤器。

我假设你已经使用了Nodereference,你可能已经看过了那个选项