如何创建一个角色并只允许访问具有该角色的某些用户到moodle中的块?

时间:2015-02-24 19:50:54

标签: php moodle

我有一个块,现在我想让某些用户访问该块。那些特定用户将为他们创建一个角色。我的问题是,如何创建角色,为用户分配角色,以及该角色将使用户能够看到我创建的某个块。

由于

2 个答案:

答案 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)您将到达一个页面,您可以在该页面中批量分配用户到该角色选项。在将用户分配给该角色后,您将完成该过程。