【发布时间】:2011-07-15 11:52:51
【问题描述】:
我在这里要做的是控制一组字段在节点视图上的显示方式。我不想通过用户角色来控制它们,因为这将是一个节点级别的权限,我不希望这些权限影响具有相同内容类型的其他节点。
例如,假设我有三个不同的角色:ROLEA、ROLEB 和 ROLEC。每个角色都有自己的权限集来访问字段。首次创建节点时,角色为 ROLEA 的用户可以看到几个字段并可以编辑这些字段的值。当节点发布时,通过规则模块调用规则/操作,并将该节点中的状态字段设置为 STAGE1。在这个事件之后(创建了一个新节点),如果用户(ROLEA)去那个自己刚刚创建的节点,那些之前可以编辑的字段现在应该是只读的。这意味着在规则模块中,将状态字段的值设置为 STAGE1,当该节点要被 Drupal 加载时,我们需要检查状态值,并基于此值,例如,如果是 STAGE1,则修改其他字段该特定节点,只读或可编辑,或者在某些情况下对用户隐藏它们。所以我的猜测是创建一个模块,每次加载该类型的节点时,检查状态字段(这是我们在该节点类型中创建的字段)并根据该字段的值,决定哪个节点应该出现或隐藏。这应该覆盖为特定节点类型上的这些字段设置的权限。
我想要做的是创建一种方法来控制哪个字段将是只读/可编辑/隐藏基于该内容类型中的特定字段的值,该字段已由Roules模块设置,基于不同用户组在该节点上工作的不同阶段。我没有使用有机集团。我使用 Drupal 7 和规则模块以及其他几个与权限相关的模块。但我发现没有这种方法可以在节点级别处理字段可见性,与用户角色分开。
您认为还有其他方法可以达到相同的效果吗?如果您能告诉我如何创建这样一个模块,我将不胜感激。
我非常感谢任何和所有的意见。
【问题讨论】:
标签: drupal drupal-7 cck drupal-fields