从活动中将Mark Moodle活动标记为完成

时间:2017-02-24 12:13:22

标签: php moodle moodle-api

我们正在使用Moodle 3.1.1并尝试从每个活动中找到“标记活动完成”(通过链接或按钮)的方法,而不是返回主菜单/主题页面并检查“标记完成”每个活动旁边的复选框。

我能想到的唯一方法是创建一个自定义按钮,其功能与课程/主题页面上“标记完成”的复选框相同。但是,这应该是作为一个插件还是只在Moodle中进行自定义代码增强?如果是的话,那个方向的任何步骤都会有所帮助,因为我不了解Moodle的发展。

有更简单的方法吗?任何建议都会非常有用。

提前致谢!

1 个答案:

答案 0 :(得分:0)

这是最简单的方法,它只会生成与您在课程页面上看到的复选框相同的复选框:

global $COURSE, $PAGE;
$completioninfo = new completion_info($COURSE);
if ($PAGE->cm) {
    $course_renderer = $this->page->get_renderer('core', 'course');
    $checkbox = $course_renderer->course_section_cm_completion($COURSE, $completioninfo, $PAGE->cm);
}

echo $checkbox;

将其添加到主题的布局/模板文件中,以使其出现在活动页面上。