Ошибка Moodle: build_navigation () больше не может быть использована, используйте вместо этого методы $ PAGE-> navbar - PullRequest
1 голос
/ 07 июля 2019

Я довольно новичок в Moodle, и я попытался установить несколько блоков.После установки блока я получаю эту ошибку: build_navigation() can not be used any more, please use $PAGE->navbar methods instead.

Я думаю, что часть файла php с ошибкой:

$navigation = array(
array('name' => format_string($course->shortname),
'link' => "$CFG->wwwroot/course/view.php?id=$course_id",
'type' => 'course'
),
array('name' => get_string('pluginname', $BLOCK_NAME),
'link' => "$CFG->wwwroot/blocks/user_preferences?id=$course_id",
'type' => 'config'
    ),
);
build_navigation($navigation);

Я знаю, что я должениспользовать методы, как описано здесь , но я не знаю, как это сделать.Спасибо

1 Ответ

1 голос
/ 07 июля 2019

build_navigation устарела давно.Используйте это вместо:

$mycoursestr = format_string($course->shortname);
$mycourseurl = new moodle_url('/course/view.php', ['id' => $courseid])
$PAGE->navbar->add($mycoursestr, $mycourseurl);

Обратите внимание, что $PAGE доступно в глобальной области видимости, поэтому вам не нужно создавать его экземпляр.

Кроме того, в зависимости от того, что вы хотите сделать,например: в зависимости от того, где вы хотите, чтобы этот навигационный узел появлялся или когда вы пишете этот код в точке входа / на странице (до вызова $OUTPUT->header()) или где-либо еще ... вам может потребоваться работать с узлами по-разному.

...