【问题标题】:How to create a role and give access to only certain users having that role to the block in moodle?如何创建角色并仅授予具有该角色的某些用户访问moodle中的块?
【发布时间】:2015-02-24 19:50:53
【问题描述】:

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

谢谢

【问题讨论】:

    标签: php moodle


    【解决方案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 中的版本才能安装该功能。

    然后转到角色并将权限设置为所需的角色。

    【讨论】:

      【解决方案2】:

      在moodle中你可以这样做:

      如何让区块只对特定用户可见?

      1) 从站点管理 > 用户 > 权限 > 定义角色创建您的自定义角色

      2) 您可以选择一个原型,这意味着选择一个它们将允许您继承该原型的功能。

      3) 同时选择上下文作为一个块。这样您就可以从块设置(即本地设置)级别分配此角色。

      4) 现在回到首页,打开编辑,这样你就可以在块的右上角看到本地块设置齿轮,点击它。

      5) 单击将角色分配给此块。

      6) 您现在处于“分配角色”页面,请参见左栏,在“管理”下,您将看到 Block: 和 在此之下有如下设置:1)分配角色,2)权限,3)检查权限。

      7) 点击权限,您将在阻止下看到查看块。下方有一个加号,请点击。

      8) 现在您可以编辑谁可以从这里查看此块。只需保留您创建的角色并删除其他角色即可。

      9) 现在转到“分配角色”。

      10) 您会看到一个包含角色、描述和角色列的用户表。单击该表中的角色名称。

      11) 您将到达一个页面,您可以在其中将用户批量分配给该角色选项。将用户分配给该角色后,您就完成了该过程。

      【讨论】:

        猜你喜欢
        • 2019-04-13
        • 2017-06-27
        • 2021-10-16
        • 1970-01-01
        • 1970-01-01
        • 2019-05-21
        • 2020-02-01
        • 2014-05-16
        相关资源
        最近更新 更多