在 Drupal 7(有机组)中预填充 group_audience 字段

Posted

技术标签:

【中文标题】在 Drupal 7(有机组)中预填充 group_audience 字段【英文标题】:Prepopulating group_audience field in Drupal 7 (Organic Groups) 【发布时间】:2012-01-03 14:40:49 【问题描述】:

我试图让prepopulate 模块与og 一起工作,但收效甚微。据我了解,我可以做?edit[group_audience]=123,通过代码,prepopulate 插件似乎做了它应该做的事情,并将下拉列表#value 设置为123,但由于某种原因这不会根本不工作。

我还发现一些信息说可以使用 ?gids[]=123 预填充该字段,有没有人在这方面取得了成功,或者有真正合适的解决方案?

【问题讨论】:

【参考方案1】:

所以...对 D 7.22 和 OG 7.x-2.1 执行此操作的正确方法是:

node/add/[content-type-machine-name]?og_group_ref=[group-id]&destination=node/[group-id]

以上答案不适用于我的设置。

在这里看看我是如何浪费我的星期天的:Drupal Organic Groups Pre-populated Audience Field

【讨论】:

【参考方案2】:

你试过?edit[group_audience][]=123吗?

群组受众是一个多选框,因此您可能需要使用这种允许设置多个值的语法。?edit[group_audience][]=123&edit[group_audience][]=42&edit[group_audience][]=1

【讨论】:

【参考方案3】:

不需要预填充模块:

?gids_group[]=123

在 Organic Groups 自述文件中找到了这个:

您可以制作自己的 URL,这些 URL 会产生有用的行为。

例如,

node/add/group-content?gids_node[]=4 

将在节点表单中添加一个选择节点 ID 为 4 的组。

前缀实体可以更改以指示其他实体 允许制作 URL 的类型,您可以有多个变量, 例如,

node/add/group-content?gids_node[]=4&gids_user[]=3&gids_group[]=5,6,7

上面的 URL 将选择节点 ID 为 4 的组,以及用户 ID 的组 3,以及具有唯一组 ID 5、6 和 7 的组。 请注意,组 ID 5、6 和 7 的实际实体可以是任何实体(例如 节点或用户)。

【讨论】:

欢迎来到***。只是修饰了你的答案。插入一些换行符和 4 个空格将您的示例标记为代码。【参考方案4】:

通过将 ?gids[]= 附加到您的节点/添加 URL,您可以指定组受众。通过输入以逗号分隔的 nid 列表,您可以指定多个受众。

【讨论】:

抱歉,在 D7 中不是这样【参考方案5】:

对于带有 og 7.x-2.1 的 Drupal 7,您需要安装实体引用预填充模块(并按照其自述文件中的说明进行操作)。一旦你这样做了,那么其余的就像魔术​​一样工作。如果没有安装/启用该模块,当您尝试执行以下操作时不会发生任何事情。此 url 实现了使用 id 为 1135 的组预填充 og_group_ref 字段的预期结果: http://[site]/node/add/group-post?og_group_ref=1135

【讨论】:

以上是关于在 Drupal 7(有机组)中预填充 group_audience 字段的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7 列出当前用户所属的有机组

Drupal 7:将私人论坛添加到有机组

Drupal - 每种有机组内容类型的单独菜单

在 Drupal 中更改有机组用户角色的用户规则?

在视图中按有机组列出 Drupal 节点

Drupal MultiSite、多个站点或有机组