You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Moodle插件实现不同站点间课程分类的导入导出

完全可以通过编写自定义Moodle插件实现课程分类及子分类的跨站点自动化迁移,具体实现方案如下:

插件核心实现逻辑

源站导出模块

  • 调用Moodle核心内置API core_course_get_categories 递归拉取全量分类数据,包含分类名称、描述、父分类ID、排序权重、可见性、ID编号、自定义字段等所有元属性
  • 梳理分类层级关系,将完整分类树导出为结构化JSON格式,保留原始父子关联标记
  • 支持按分类层级、分类可见性等条件筛选导出范围

目标站导入模块

  • 读取源站导出的JSON数据,按照「根分类→一级子分类→二级子分类……」的顺序遍历写入,避免父分类未创建导致的关联错误
  • 导入过程中自动建立源站分类ID与目标站新生成分类ID的映射表,保证子分类的父级关联关系还原正确
  • 调用Moodle核心API core_course_create_categories 执行写入操作,1:1还原分类的可见性、排序规则、自定义字段等配置
可选优化功能
  • 新增重复分类校验逻辑:导入前自动检测目标站同层级下是否存在同名分类,支持跳过、覆盖、重命名三种处理策略
  • 新增迁移进度展示、迁移结果日志导出功能,方便快速定位异常分类
  • 可扩展对接Moodle课程备份/恢复API,实现「分类+分类下课程」的全量自动迁移
注意事项

迁移操作前务必对两个站点执行全量数据备份,避免导入操作误修改现有正式数据
两个站点的Moodle大版本建议保持一致,避免核心API参数差异导致的导入失败

内容的提问来源于stack exchange,提问作者Codeparl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:48:04