将情绪模块从资源转移到活动

时间:2018-07-26 13:23:09

标签: php moodle

我正在研究穆迪模块,当我进入这个项目时,该模块已经创建。问题是当我试图在课程中添加它时,该模块出现在资源部分中,而我想将其放在活动部分中。我怎样才能做到这一点? The pop up where I want my module to appear as activity

1 个答案:

答案 0 :(得分:1)

将模块分为几组的代码仅检查前缀为MOD_ARCHETYPE_的常量:

    foreach ($modules as $module) {
        $activityclass = MOD_CLASS_ACTIVITY;
        if ($module->archetype == MOD_ARCHETYPE_RESOURCE) {
            $activityclass = MOD_CLASS_RESOURCE;
        } else if ($module->archetype === MOD_ARCHETYPE_SYSTEM) {
            // System modules cannot be added by user, do not add to dropdown.
            continue;
        }
        $link = $module->link->out(true, $urlparams);
        $activities[$activityclass][$link] = $module->title;
    }

我们可以看到,它只是检查“原型”属性。

在/mod/yourmodulename/lib.php中找到函数YOURMODULENAME_supports

它应该像

这样的字符串
case FEATURE_MOD_ARCHETYPE:           return MOD_ARCHETYPE_RESOURCE;

评论一下。该模块现在应位于活动部分(默认)