![](/img/trans.png)
[英]How to give a permission to only some users with same role in drupal?
[英]How to create a role and give access to only certain users having that role to the block in moodle?
我有一個街區,現在我希望某些用戶訪問該街區。 這些特定用戶將具有為他們創建的角色。 我的問題是,如何創建角色,為其分配用戶,並且該角色將使用戶能夠看到我創建的特定塊。
謝謝
我將在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
中更改version.php
才能安裝該功能。
然后轉到角色並設置允許使用所需角色的功能。
這是您如何在穆迪中做到的:
1)從“站點管理”>“用戶”>“權限”>“定義角色”創建自定義角色
2)您可以選擇一個原型,這意味着選擇一個原型將允許您繼承該原型功能。
3)還要選擇上下文作為塊。 這樣您就可以從塊設置(即本地設置)級別分配此角色。
4)現在回到家,打開編輯,以便您可以在塊的右上角看到本地塊設置齒輪,單擊它。
5)單擊分配角色到該塊。
6)您現在位於“分配角色”頁面中,在左列中,在“管理”下,您將看到“阻止:”,並在其中進行以下設置:1)分配角色,2)權限,3)檢查權限。
7)單擊權限,您將在“阻止”下看到視圖阻止。 在其下方有一個加號,單擊它。
8)現在您可以編輯哪些人可以從此處查看此圖塊。 只需保留您創建的角色並刪除其他角色即可。
9)現在轉到“分配角色”。
10)您將看到一個帶有角色,說明和具有角色的用戶列的表。 單擊該表中的角色名稱。
11)您將到達一個頁面,您可以在其中批量分配用戶該角色選項。 將用戶分配給該角色后,您就可以完成該過程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.