如何仅允许特定用户查看 Drupal 中内容类型的特定字段?

Posted

技术标签:

【中文标题】如何仅允许特定用户查看 Drupal 中内容类型的特定字段?【英文标题】:How can I allow only specific users to view specific fields of a content type in Drupal? 【发布时间】:2012-11-18 15:05:53 【问题描述】:

我正在建立一个 Drupal 7 站点,要求具有“学生”角色的成员提交有关具有“教师”角色的成员的评论。我需要每个学生能够一次对所有老师进行评论,然后我需要构建一个视图,让每个老师只能看到与他们相关的评论。评论是较大申请表的一部分,因此内容类型中的某些字段需要对所有教师都可见。

我知道如何设置实体参考视图,以便学生可以从下拉列表中选择教师。我的问题是 - 我可以将文本字段与特定实体相关联吗? 如果我可以这样做,我可以将教师的视图配置为仅显示被当前用户“标记”的学生反馈字段.

澄清一下:我无法制作一个学生会多次填写的内容类型(每位教师填写一次),因为学生只需创建一个帖子。内容类型应如下所示:

选择你的首选老师: (这是我一直在使用实体引用下拉菜单的地方)解释你的首选: (这应该是一个文本字段,只有在第一个下拉字段中选择的学生、管理员和教师有权查看)

选择你的第二选择老师: (这是另一个实体引用下拉菜单)解释你的第二选择: (另一个文本字段,只有在第二个下拉字段中选择的学生、管理员和教师可见)

我可以用规则模块完成这个吗?

【问题讨论】:

【参考方案1】:

试试Field Permissions;它就是为此而生的。

字段权限模块允许站点管理员设置 在任何实体上编辑、查看和创建字段的字段级权限。

【讨论】:

【参考方案2】:

创建一个内容类型“教师评估”,其中每个评估都与一位教师相关。 “教师评估”内容类型的作者是创建此评估的学生。

您可以使用 Entity reference 模块,它具有对 Views 模块的集成支持。

【讨论】:

感谢您的建议!我正在使用实体引用模块,但我无法制作一个学生会多次填写的内容类型 - 每位教师一次 - 因为学生每人只需要创建一个帖子。我在上面的问题中基本上描述了内容类型应该是什么样的。

以上是关于如何仅允许特定用户查看 Drupal 中内容类型的特定字段?的主要内容,如果未能解决你的问题,请参考以下文章

如何仅向节点编辑中的特定字段授予编辑权限?

Drupal 自定义内容类型列表视图

如何在 Drupal 7 中创建一个仅显示基于当前用户字段的过滤列表的视图

Drupal - 展示一个节点

在 drupal 中以内容类型形式显示自定义表字段值

Drupal 视图 - 根据 URL 过滤内容