Moodle API 具有如下功能
core_course_create_courses()
core_course_duplicate_course()
core_course_get_contents()
这些都工作正常。有没有办法设置和编辑课程的内容?
我们正在将我们的 SIS(学生信息系统)同步到 Moodle,我们希望为 SIS 中的每门课程创建一个 Moodle 课程。但是我们需要设置内容。甚至能够在我们的 SIS 中设置一个指向课程的 URL 也很重要。
Moodle API 具有如下功能
core_course_create_courses()
core_course_duplicate_course()
core_course_get_contents()
这些都工作正常。有没有办法设置和编辑课程的内容?
我们正在将我们的 SIS(学生信息系统)同步到 Moodle,我们希望为 SIS 中的每门课程创建一个 Moodle 课程。但是我们需要设置内容。甚至能够在我们的 SIS 中设置一个指向课程的 URL 也很重要。
一种选择可能是创建一个块,以编程方式设置 URL 以链接回 SIS 课程(您甚至可以使用 iframe 从那里嵌入一些东西?)。然后,您可以通过 config.php 或通过将其添加到首页并告诉它在哪里显示来将块设置为每个课程的默认设置。我以前使用它来添加来自多个来源的信息/链接,并根据课程(例如模块评估、讲座捕获)提供指向外部资源的链接,尽管不是专门的学生信息系统。
如果您想要主内容区域中的块而不是侧块,则可以使用主题(或编辑您自己的)在主内容区域中添加自定义块区域(有关此示例的多个示例,请参见 flexibase 主题,还有其他具有自定义块区域的)。
中的course_get_contents
函数course/externallib.php
返回课程的活动模块。
我认为没有用于为课程创建模块的 Web 服务。
另外,我认为需要为每个活动模块创建一个 Web 服务功能,因为在大多数情况下参数会有所不同。
因此,您将需要创建一个 Web 服务:
https://docs.moodle.org/dev/Adding_a_web_service_to_a_plugin
然后我会推荐使用add_moduleinfo()
来创建模块。
看看这个 facetoface 模块的例子。