我正在尝试通过如下所示的php脚本获取Moodle课程ID。
我已经在不同的课程和帐户中对其进行了测试,它始终为我提供ID1。为什么这样做以及如何获得正确的ID?
<?php
require('./config.php');
global $PAGE;
echo $PAGE->course->id;
?>
答案 0 :(得分:0)
Moodle只知道告诉您您的页面属于哪门课程(您可以通过跟踪网站上任何课程的链接进入页面)。当您创建指向页面的链接时,您需要包含某种参数,该参数会告诉您页面应将其视为课程的一部分,例如$ url = new moodle_url('/ blocks / myblock / mypage.php',['id'=> $ PAGE-> course-> id]); echo html_writer($ url,'看看我的页面');
然后,一旦您单击链接,请使用required_param()收集参数,并使用require_login()设置页面。例如
$courseid = required_param('id', PARAM_INT);
$course = $DB->get_record('course', ['id' => $courseid], '*', MUST_EXIST);
require_login($course);
然后,将配置$ PAGE-> course。