Идентификатор курса Moodle всегда равен 1 - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь получить идентификатор курса Moodle в php-скрипте, показанном ниже.

Я проверил его на разных курсах и в разных учетных записях, и он всегда дает мне идентификатор 1. Почему это так и как получить правильный идентификатор?

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

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

1 Ответ

0 голосов
/ 08 января 2019

Moodle знает, к какому курсу относится ваша страница, если вы скажете об этом (вы могли зайти на свою страницу, перейдя по ссылке из любого курса на сайте). Когда вы создаете ссылку на свою страницу, вам нужно включить какой-либо параметр, который скажет вашей странице, к какому курсу она должна относиться, например, $ url = new moodle_url ('/ blocks / myblock / mypage.php', ['id' => $ PAGE-> course-> id]); echo html_writer ($ url, «Посмотри на мою страницу»);

Затем, перейдя по ссылке, соберите параметр с помощью required_param () и используйте require_login () для настройки страницы. * Например 1003 *

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

После этого будет настроен курс $ PAGE->.

...