如何仅向节点编辑中的特定字段授予编辑权限?
Posted
技术标签:
【中文标题】如何仅向节点编辑中的特定字段授予编辑权限?【英文标题】:How to give edit permission only to specific fields in node edit in? 【发布时间】:2013-08-09 16:45:09 【问题描述】:我的内容类型包含一些 cck 字段:
- task time
- task status
- task executor
- task category
当然还有标题/正文和其他 drupal 节点默认字段。
此内容类型的每个节点都将分配给从任务执行器字段中的站点用户中选择的用户。
我希望执行者登录时查看分配给任务(节点)的所有字段,但只能更改(编辑)任务状态字段的值。节点编辑不会这样做。
我尝试使用 cck 模块的“内容权限”,但这不是我真正需要的。它无法控制标题和正文字段,并且用户只能在节点编辑页面中看到他对其具有编辑权限的字段。
我能做什么?
【问题讨论】:
【参考方案1】:您应该使用Field Permissions 模块来允许特定用户查看或编辑字段。当然你必须为每个节点的 Executor 有一个关系字段(Task Executor 字段),这样才能应用这些权限。
【讨论】:
【参考方案2】:由于您只希望他们能够编辑状态字段而不是其他任何内容,因此我不会让他们访问节点编辑页面。 editablefields 模块允许您允许用户使用 AJAX 更改节点页面上的字段。您可能仍然需要另一个模块来获得所有权限。
或者您可以创建一个自定义模块/块,让用户更改状态并使块仅显示在该内容类型的节点页面上。
【讨论】:
【参考方案3】:很少有像字段权限这样的细粒度权限模块。请使用其中任何一个。
【讨论】:
以上是关于如何仅向节点编辑中的特定字段授予编辑权限?的主要内容,如果未能解决你的问题,请参考以下文章
如何仅向graphene-django中的用户个人资料所有者显示特定字段?