Moodle3.5::一门课程的课程模块

Moodle3.5::Course modules for a course

获取课程的课程模块:

我正在尝试获取当前课程 ID 的课程模块。尝试使用 print_r 和 var_dump 提取数组值,而不是使用精确的字符串转换。

我正在从数组输出中查找模块实例或模块 ID 和模块名称 (modname)。

我想要课程中的课程模块,在自定义页面上显示课程名称和模块。

global $DB;
$course = $DB->get_record('course', array('id' => $courseid));
$info = get_fast_modinfo($course);
print_r($info);
//var_dump($info);

您需要的代码如下:

$modinfo = get_fast_modinfo($courseid);
foreach ($modinfo->get_cms() as $cminfo) {
    echo $cminfo->id.' ('.$cminfo->instance.'): '.$cminfo->get_formatted_name().'<br>';
}

查看 lib/modinfolib.php、class course_modinfo 了解您可以调用 get_fast_modinfo( ).查看同一文件中的 cm_info class 以了解 get_cms() / get_cm($cmid).

返回的对象的详细信息