应用场景:基层单位发布一篇文章,只允许本单位和公司本部人员可见。
一、先决条件:
1、为了定位作者的从属关系,在用户资料中添加了“所在单位”字段,这个字段通过分类术语控制输入,术语值分别为“公司本部”、“XX单位”、“XX单位”……。
2、已经设定了“本部领导”、“本部中层”、“本部员工”、“基层领导”、“基层中层”、“基层员工”等角色,这些角色是相互独立的。
二、实现方法:
1、在文章内容类型中添加一个字段,字段标签为“半月报”,机读名称为“field_report”,数据类型选择“布尔值”。默认选项为“字段标签”。便于在views中设置过滤。
2、添加或修改文章内容时,勾选“半月报”。
3、创建一个views,用来控制只能访问本单位的半月报。
- 添加过滤条件。
半月报的过滤条件=开启
- 在高级设置里设置一个作者关联。
- 添加一个上下文过滤。
- 填写PHP代码。获取当前用户所在单位值,使其与文章作者所在单位值相匹配。
global $user; $uid = $user->uid; $myuser = user_load($uid); $org = taxonomy_term_load($myuser->field_of_org['und'][0]['tid'])->tid; return $org;
4、克隆这个区块,供公司本部所有成员可以访问半月报。移除作者关联和上下文过滤。通过用户的角色来控制访问。
5、将上述两个views区块放置到相应的区域。
标签
Drupal 版本
设置二个相同显示区块来控制不同位置人的权限。
设置二个相同显示区块来控制不同位置人的权限。