将 Moodle 模块从资源移动到活动

move moodle module from resources to activities

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

将模块分成组的代码,只需检查前缀为 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;
    }

如我们所见,它只是检查 "archetype" 属性.

在/mod/yourmodulename/lib中查找函数YOURMODULENAME_supports。php

它应该有一个类似

的字符串
case FEATURE_MOD_ARCHETYPE:           return MOD_ARCHETYPE_RESOURCE;

评论出来。该模块现在应该在 activity 部分(默认)