Moodle主题根据用户类型而变化

时间:2014-01-28 11:02:11

标签: themes moodle

我在Wordpress网站上使用单点登录技术,一旦用户登录,它们会自动定向到Moodle LMS,即'courses / view.php?id = * relevant_id *'。

$ USER对象已经设置了用户类型(在本例中称为“部门”)。

我想根据此用户类型进行主题切换。

类似的东西:

if($ USER-> department =='redTeam'){   $ theme ='RedteamTheme'; }

我的问题是: 我会在哪里放置此代码段? 有谁知道确切的语法?

我看了几个小时谷歌,我无法得到语法

1 个答案:

答案 0 :(得分:0)

我已经找到了如何在代码中完成它。

在lib文件夹中,您需要修改2个文件:

pagelib和weblib。 pagelib文件是一个很长的扩展名,因此我不会在此处粘贴该代码。如果有人想要它,他们可以联系我,我很乐意分享。

weblib需要添加它才能使主题切换工作:

  //create the function
    function _setTheme(){

        global $DB,$USER, $CFG, $THEME, $COURSE;//open abstraction layers
    //set the criteria for te switch in this case I used the department field, it can also      //be roles
        $getRole = $USER->department;

            if(!empty($getRole))  { //If the variable is not empty proceed with the switch 
                switch($getRole){

                case 'role1':
                $val = 'sky_high';     
                break;

                case 'role2':
                $val = 'leatherbound';     
                break;

}
    } else {
        //default theme
                    return 'leatherbound';
                }
                return $val;
        }