2016-09-22 3 views
0

私はいくつかのユーザーに "coursecreator"ロールを割り当てるべきmoodleにプラグインを書きます。どのようにしてmoodleのユーザに "coursecreator"ロールを割り当てることができますか?

$coursecreatorroleid = $DB->get_field('role', 'id', array('shortname' => 'coursecreator')); 

role_assign($coursecreatorroleid, $user->id,context_course::instance()); 

if (user_has_role_assignment($user->id, $coursecreatorroleid)) 
    echo "True"; 

しかし、それはうまくいきません。誰でも助けてくれますか?おかげさまで

答えて

1

コースIDを入力せずにコースコンテキストインスタンスを作成することはできません。

だから、あなたが書く必要があります。また

$context = context_course::instance($courseid); 
role_assign($coursecreatorroleid, $user->id, $context); 

、あなたはサイトレベルで、または(コース作成者の役割のために理にかなっている)、カテゴリ・レベルで役割を割り当てたい場合は、あなたが使用する必要がありますcontext_system :: instance()またはcontext_coursecat :: instance($ catid)です。

デバッグをオンにすることをお勧めする場合は、http://docs.moodle.org/en/Debuggingとすると、エラーメッセージと警告が表示されます。

+0

'context_system :: instance()'が私の答えです。たくさんのTnx。 –

関連する問題