Moodle Local 插件讲解
发布日期:2025-04-14 18:21:36 浏览次数:8 分类:精选文章

本文共 1475 字,大约阅读时间需要 4 分钟。

Moodle Local 插件讲解

Local插件在Moodle中相比于其他插件算是比较容易上手的一个插件,前后台分离,不用在前后端代码中杂糅。掌握Local插件是上手其他插件的基础,其实学会Local插件后,其他插件不过是它的一种变种形式,举一反三就能很快掌握。

服务器配置了相应的url,所以每个插件的加载首页都是index.php,但页面代码并非直接在index.php中,index.php会调用renderer.php中的相应渲染方法,例如render_index_page($page)方法:

public function render_index_page($page) {    $data = $page->export_for_template($this);    render_from_template('local_xxx/index', $data);}

在这个方法中,首先调用了index_page类中的export_for_template方法,获取页面静态加载需要的数据,例如Mustache模板需要的数据数组,索引与模板名称一一对应。例如Mustache文件中若有:

{#user}} hello !{
{/user}}

则对应class一定存在:

$data['user'] = xxxx;

以render_from_template('local_xxx/index', $data)为例,local_xxx/index是template目录下的文件名,必定存在index.mustache文件,这是Moodle封装的命名规范,Mustache文件即为页面展示代码所在。

通过:

{#js}} require xxx {
{/js}}

引入对应的JavaScript文件。

每个local插件中都存在一个style.css样式文件,系统运行时会将每个模块的css文件内容合并到一起,若有同名文件则会发生覆盖。建议起名字统一在前面加上插件名称。如若需要立即查看效果,必要以admin角色进入系统并清空缓存。

目前系统中的js基于RequireJS框架,遵循AMD开发规范,利用Grunt构建。amd目录下有src目录和build目录,src下的xxx.js供开发调试使用,build目录下的min.js为网站实际运行使用,经过压缩可以大幅度提升运行速度。每次修改js后需生成对应的min.js文件,生成命令为grunt uglify。

主要负责记录权限配置。

负责接收ajax提交,配置后台API的类名、路径和方法名等信息,并将对应的ajax方法存入数据库中。

用于安装系统时表结构的对应生成。

用于安装系统时数据库缺省数据的提供。

用于系统表结构变化等版本升级事项的实现。由于生产环境中客户已有大量数据存在于数据库中,不能采取重装系统的方式更改表结构或更改数据库操作,这时候就得借助upgrade.php平滑升级。

负责编写service.php中ajax提交方法对应的后台方法,并调用lib.php中的API实现。

负责方法的具体实现,代码与数据库数据交互。

en目录下的表示英文翻译语言文件,zh_cn目录下的表示中文翻译语言文件,具体调用方法为:

php中:

get_string(字符串名, 插件名)

Mustache中:

{#str}}字符串名, 插件名{
{/str}}

作者:Tony

2017年02月28日

上一篇:Moore's voting algorithm
下一篇:MVP

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年05月13日 01时44分51秒