Organic Groups - 允许创建的节点类型

Posted

技术标签:

【中文标题】Organic Groups - 允许创建的节点类型【英文标题】:Organic Groups - types of nodes allowed to create 【发布时间】:2010-09-02 21:26:22 【问题描述】:

想知道是否有人可以对 Drupal 中的 OG 组有所了解。

我知道您可以限制可以在组内创建哪些类型的节点,但是如果您有两种类型的组怎么办。能不能把某类节点的创建限制在一个组内?

示例: 我允许用户创建名为 Sports 的组 我允许用户创建名为 Movies 的组

我有两种类型的节点:食物和鞋子 我可以设置Food节点吗,只能在电影组内创建 并设置Shoes节点只能在Sports组内创建?

谢谢:)

【问题讨论】:

【参考方案1】:

OG 的核心行为是每个内容类型都定义了它自己与 OG 的关系。他们可能被禁止参与群组关系、群组节点或群组帖子。该基本配置中没有任何内容可以单独指定内容类型和每个组类型之间的关系。

但是,您可以采取一些技巧来尝试促进某些事情。

便宜的技巧

例如,如果您隐藏导航以创建给定内容类型的节点,那么您就切断了明显的方法。

OG 用户角色

我能想到的最传统的技巧可能是在权限级别划分不同的内容类型。我并不完全肯定这会奏效,因此需要进行一些实验。

    创建一个 Sports Writer 角色,将创建和编辑篮球节点的能力限制在该角色中。 使用OG User Role 自动将 Sports 组类型的成员提升为 Sports Writer 角色。

尖端的恶作剧

您还可以使用Spaces 模块通过Feature 切换内容类型的可用性。事实上,spaces_menu_alter() 的实现可能会向您展示如何以编程方式构建您正在寻找的功能。听起来会很有用。

【讨论】:

【参考方案2】:

当您创建 Shoe/Food 节点时,会有一个下拉/选择列表来选择它要添加到的组,对吧?

应该可以编写一个实现hook_form_alter 的模块来截取food and shoes 节点的节点形式,并根据节点类型进行查找以过滤可供它使用的组。

edit 这个模块似乎存在,它可以满足你的需求:http://drupal.org/project/og_content_type_admin

【讨论】:

以上是关于Organic Groups - 允许创建的节点类型的主要内容,如果未能解决你的问题,请参考以下文章

允许 Drupal Organic Group Admins 删除和编辑对所有组节点的访问权限

如何向 Drupal 7 Organic Groups 角色成员发送电子邮件?

Drupal Organic Group 角色数据存储在哪里?我如何访问它?

在 Erlang 中动态添加节点和 global_groups

Organic, Cocoa Powder

Xcode Watchkit:没有一个有效的配置文件允许指定的权利:beta-reports-active、com.apple.security.application-groups [重复]