我想以moodle形式显示课程列表并使用以下代码;
$options = array();
$allcourses = coursecat::get(0)->get_courses(array('recursive' = true);
foreach ($allcourses as $course) {
$options[$course->id] = $course-fullname;
}
$mform->addElement('select', 'courseid', get_string('course'), $options);
$mform->setDefault('courseid', $currentcourseid);
$mform->setType(PARAM_INT);
但它在
$allcourses = coursecat::get(0)->get_courses(array('recursive' = true);
处显示错误,有任何指导或帮助吗?
谢谢 问候
您收到的错误消息说明了什么?
因为看起来你的括号不平衡:
$allcourses = coursecat::get(0)->get_courses(array('recursive' = true);
试试这个:
$allcourses = coursecat::get(0)->get_courses(array('recursive' = true));
如有疑问,请务必确保显示错误消息:
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);
或者,在您的具体情况下,您可能需要修改
$CFG
中的 Moodle config.php
对象:
https://docs.moodle.org/20/en/Debugging
希望这有帮助
这将使您的所有课程显示在表单的选择字段中
// get all available courses into a select form field
$options = array();
$allcourses = get_courses(array('recursive' => true));
foreach ($allcourses as $course) {
$options[$course->id] = $course->fullname;
}
$mform->addElement('select', 'courseid', 'Courses', $options);
$mform->setDefault('courseid', $currentcourseid);
$mform->setType('courseid',PARAM_INT);
应该是:
array('recursive' => true));
代替(
=
代替=>
)
array('recursive' = true));