Moodle Error: build_navigation() can not be used any more, please use $PAGE->navbar methods instead

Moodle Error: build_navigation() can not be used any more, please use $PAGE->navbar methods instead

我是 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);

我知道我应该使用 here 中描述的方法,但我不知道该怎么做。谢谢

build_navigation 很久以前就被弃用了。改用这个:

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

请注意,$PAGE 在全局范围内可用,因此您无需实例化它。

此外,取决于您想要做什么,例如:取决于您希望此导航节点出现的位置,或者您是否在条目中编写此代码 point/page(在调用 $OUTPUT->header()) 或其他地方...您可能需要以不同方式处理节点。