我有一个块,现在我想让某些用户访问该块。那些特定用户将为他们创建一个角色。我的问题是,如何创建角色,为用户分配角色,以及该角色将使用户能够看到我创建的某个块。
由于
答案 0 :(得分:1)
我会在blocks/yourblockname/db/access.php
'block/yourblockname:view' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_BLOCK,
'archetypes' => array(
'manager' => CAP_ALLOW
)
)
您还需要/ blocks/yourblockname/lang/en/block_yourblockname.php
$string['yourblockname:view'] = 'View this block';
然后在blocks/yourblockname/block_yourblockname.php
检查能力
function get_content() {
...
$this->content = new stdClass;
$this->content->text = '';
$this->content->footer = '';
...
if (!has_capability('block/yourblockname:view', $this->page->context)) {
// Return blank content so the block isn't displayed.
return $this->content;
}
您需要使用version.php
中的版本来提升安装功能。
然后转到角色并设置允许所需角色的功能。
答案 1 :(得分:0)
以下是你如何在moodle中做到这一点:
1)从“站点管理”>创建自定义角色用户>权限>定义角色
2)您可以选择一个原型,这意味着选择一个原型将允许您继承原型功能。
3)同时选择上下文作为块。这样您就可以从块设置(即本地设置)级别分配此角色。
4)现在回到家,打开编辑,这样你就可以看到块右上角的本地块设置齿轮,点击它。
5)点击为此区块分配角色。
6)您现在处于“分配角色”页面,请参见左栏,在“管理”下,您将看到“阻止:”和 在此之下有如下设置:1)分配角色,2)权限,3)检查权限。
7)点击权限,你会看到Block下的视图块。有一个加号,请点击它。
8)现在您可以编辑可以从此处查看此块的人员。只需保留您创建的角色并删除其他角色。
9)现在转到“分配角色”。
10)您将看到一个包含角色,描述和用户角色列的表。单击该表中的角色名称。
11)您将到达一个页面,您可以在该页面中批量分配用户到该角色选项。在将用户分配给该角色后,您将完成该过程。