Moodle课程ID始终等于1

时间:2019-01-08 16:18:11

标签: php moodle

我正在尝试通过如下所示的php脚本获取Moodle课程ID。

我已经在不同的课程和帐户中对其进行了测试,它始终为我提供ID1。为什么这样做以及如何获得正确的ID?

<?php
require('./config.php');
global $PAGE;

echo $PAGE->course->id;
?>

1 个答案:

答案 0 :(得分:0)

Moodle只知道告诉您您的页面属于哪门课程(您可以通过跟踪网站上任何课程的链接进入页面)。当您创建指向页面的链接时,您需要包含某种参数,该参数会告诉您页面应将其视为课程的一部分,例如$ url = new moodle_url('/ blocks / myblock / mypage.php',['id'=> $ PAGE-> course-> id]); echo html_writer($ url,'看看我的页面');

然后,一旦您单击链接,请使用required_pa​​ram()收集参数,并使用require_login()设置页面。例如

$courseid = required_param('id', PARAM_INT);
$course = $DB->get_record('course', ['id' => $courseid], '*', MUST_EXIST);
require_login($course);

然后,将配置$ PAGE-> course。