用户可能在角色X中。
存在一个视图,其中显示器A被允许用于角色X而显示器B被限制。
如何以编程方式检查属于角色X的用户是否可以访问显示器?
答案 0 :(得分:0)
您应该做的是使用user_access
答案 1 :(得分:0)
您是否有特定原因要以编程方式执行此操作?您可以在视图UI中为视图显示设置访问规则:
编辑视图,选择显示并在“基本设置”块中查找“访问”。单击该值(默认=“Untrestricted”),单击“覆盖”按钮以覆盖该特定显示的设置,并选择所需的设置。
答案 2 :(得分:0)
可以在主题中实现内联,但最好将其分解为模块+主题。 (假设drupal-7)在你的主题(node - contenttype.tpl.php)中调用一个自定义访问方法:
if (module_invoke('hottopicresearch', 'display_moderated_research_access_callback', 'update', $node)) {
在模块中实现此访问回调:
function hottopicsresearch_display_moderated_research_access_callback($permission, $node) {
并检查角色
if (in_array("editorial board admin", $user->roles) || $user->uid == 1) {
和/或节点访问,如其他答案中所述:
if (!node_access($permission, $research_parent_node)) {
返回TRUE或FALSE。
此示例允许具有“编辑板管理员”角色的人员和可以写入节点的人员访问。没有其他人可以看到索引。当然,这并不能阻止他们直接访问节点。