MoodleLocal插件讲解Local插件是Moodle中比其他插件更容易使用的插件。Local插件前后端分离,无需在前后端混合代码中漫游。学习Local插件是开始使用其他插件的前提。事实上,一旦你学习了Local插件,你就会发现其他插件只是它的一个变种。流程图的前端Template服务器配置了对应的url,所以每个插件的加载首页都是index.php,但并不代表页面的代码在index.php中,首先在index.php中调用renderer.php对应的页面渲染方法,比如render_index_page($page)方法:publicfunctionrender_index_page($page){$data=$page->export_for_template($this);render_from_template('local_xxx/index',$data)}在该方法中,首先调用index_page类中的export_for_template方法获取页面静态加载所需的数据,例如小胡子需要的data数组的索引template和模板名一一对应,比如mustache文件hello!{{/user}}中有{{#user}},那么对应的class一定存在$data['user']=xxxx;以render_from_template('local_xxx/index',$data)为例,local_xxx/index,模板目录下必须有一个文件名,就是index.mustache文件,这是moodle打包的命名规范,mustachefile是页面显示的代码所在的地方;通过{{#js}}requirexxx{{/js}}导入对应的JavaScript文件;CSS每一个本地插件中都有一个style.css这样的css样式文件。系统运行时,各个模块的css文件内容会合并在一起,所以如果有两个css重名,会出现覆盖的现象,所以建议加上当前插件的名字-在名字的前面。需要注意的是,每次添加、修改或删除css文件内容后,如果需要立即查看效果,必须以admin角色进入系统,然后清除缓存;JavaScript当前系统中的js基于RequireJS框架,遵循AMD开发规范,使用Grunt构建。amd目录下有src目录和build目录,src下的xxx.js是开发时编写和调试用的,build目录下的min.js是网站实际运行时使用的js文件,之后可以大大提高压缩运行速度。所以每次修改js后,不要忘记生成对应的min.js文件,提交代码时提供。生成的命令是gruntuglify;后端db1.access.php主要负责录音权限的配置;2、service.php负责接收ajax提交,配置对应后台API的类名、路径、方法名等信息,并将对应的ajax方法存入数据库;3、install.xml用于在安装系统时生成相应的表结构;4.安装。php用于提供系统安装时数据库的默认数据;5、upgrade.php开发规范用于实现系统表结构变更等版本升级。由于客户在生产环境的数据库中有大量的数据,这个时候是不可能通过重装系统来改变表结构或者改变数据库的。这时候就得使用upgrade.php才能顺利升级。后台API1。externallib.php负责编写service.php中ajax提交方式对应的后台方法,调用lib.php中的API实现;2.lib.php负责方法的具体实现,以及代码与数据库的数据交互3.lang/en/xxx.php和lang/zh_cn/xxx.phpen目录代表英文翻译语言文件,zh_cn目录代表中文翻译语言文件。具体调用方式为:在php中:get_string(stringname,plug-inname)inmustache:{{#str}}stringname,pluginname{{/str}}作者:Tony2017年2月28日
