如何以moodle形式显示课程列表?

问题描述 投票:0回答:3

我想以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);
处显示错误,有任何指导或帮助吗?

谢谢 问候

php moodle
3个回答
1
投票

您收到的错误消息说明了什么?

因为看起来你的括号不平衡:

$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

希望这有帮助


0
投票

这将使您的所有课程显示在表单的选择字段中

// 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);

-1
投票

应该是:

array('recursive' => true)); 

代替(

=
代替
=>
)

array('recursive' = true));
© www.soinside.com 2019 - 2024. All rights reserved.