【发布时间】:2015-02-24 19:50:53
【问题描述】:
我有一个块,现在我希望某些用户访问该块。那些特定的用户将为他们创建一个角色。我的问题是,如何创建一个角色,为它分配用户,并且该角色将使用户能够看到我创建的某个块。
谢谢
【问题讨论】:
我有一个块,现在我希望某些用户访问该块。那些特定的用户将为他们创建一个角色。我的问题是,如何创建一个角色,为它分配用户,并且该角色将使用户能够看到我创建的某个块。
谢谢
【问题讨论】:
我会为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 中的版本才能安装该功能。
然后转到角色并将权限设置为所需的角色。
【讨论】:
在moodle中你可以这样做:
1) 从站点管理 > 用户 > 权限 > 定义角色创建您的自定义角色
2) 您可以选择一个原型,这意味着选择一个它们将允许您继承该原型的功能。
3) 同时选择上下文作为一个块。这样您就可以从块设置(即本地设置)级别分配此角色。
4) 现在回到首页,打开编辑,这样你就可以在块的右上角看到本地块设置齿轮,点击它。
5) 单击将角色分配给此块。
6) 您现在处于“分配角色”页面,请参见左栏,在“管理”下,您将看到 Block: 和 在此之下有如下设置:1)分配角色,2)权限,3)检查权限。
7) 点击权限,您将在阻止下看到查看块。下方有一个加号,请点击。
8) 现在您可以编辑谁可以从这里查看此块。只需保留您创建的角色并删除其他角色即可。
9) 现在转到“分配角色”。
10) 您会看到一个包含角色、描述和角色列的用户表。单击该表中的角色名称。
11) 您将到达一个页面,您可以在其中将用户批量分配给该角色选项。将用户分配给该角色后,您就完成了该过程。
【讨论】: