首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取所有关于moodle的课程?

问如何获取所有关于moodle的课程?
EN

Stack Overflow用户
提问于 2013-08-12 13:42:39
回答 3查看 11.4K关注 0票数 9

我需要在菜单列表中显示所有moodle课程。谁能建议我,我怎样才能得到所有课程使用php代码或moodle内置函数。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2013-08-12 17:23:37

假设您正在编写要在Moodle中运行的代码,您可以使用lib/datalib.php中定义的get_courses()函数。例如:

代码语言:javascript
复制
<?php
require_once(PATH_TO_MOODLE_ROOT . '/config.php');
$courses = get_courses();
print_r($courses);

这个例子显然不适合在生产站点上使用!

如果检查lib/datalib.php中的函数定义,您将看到可用于将结果集限制为特定字段或控制排序顺序的选项。

票数 11
EN

Stack Overflow用户

发布于 2015-05-18 14:26:17

包括此文件

代码语言:javascript
复制
require_once($CFG->dirroot . '/lib/coursecatlib.php');

使用此功能可获取菜单列表中的所有课程。

代码语言:javascript
复制
$allcourses = coursecat::get(0)->get_courses(array('recursive' => true));

var_dump($allcourses);exit;
票数 3
EN

Stack Overflow用户

发布于 2017-05-05 16:14:24

如果您只想向学生显示已注册的课程,您可以使用以下方法。

代码语言:javascript
复制
require_once($CFG->dirroot.'/blocks/course_overview/locallib.php');
global $USER,$DB;
$courses = enrol_get_users_courses($USER->id, true);

或者如果你想列出所有的课程..

代码语言:javascript
复制
global $DB;
$query = "SELECT id, fullname, shortname from {course}";
$courselist = $DB->get_records_sql($query);
foreach ($courselist as $course) {
    echo $course->fullname;
}

谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18180255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档