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