让moodle增长学号

 

让moodle更加中文化(增长学号)

 
 
 

这个学期,信息技术学科采用moodle做为教学平台,毕竟moodle是外国人开发的,用着总不习惯,好比学号。输出的成绩若是没有学号在里面,咱们一位老师要教4个班级可怎么办啊。咱们的学生是用学号为用户名的,可是在moodle的不少管理界面中是看不到用户名。php

解决这个问题也走了一些弯路,先是修改了/grade/export/xls/下的grade_export_xls.php文件,将email替换为username。由于email字段没有什么用,就直接输出用户名算了,暂时就这样把期末的学生成绩输出。html

过了几天,有点空了,总以为这样很差,由于看不到学号,像咱们这样实施走班教学的,管理起来真的不方便。再次研究moodle,发现其有个idnumber,好像是闲置的,看看能不能利用起来。折腾了一下子,仍是感受这样改代码的方式总很差,哪天moodle升级了,我仍是要改代码,不是一劳永逸的办法。mysql

在我网上找资料,想看看其余用moodle的同行是怎么作的,结果发现有人在帖子中提到:sql

Moodle的user表中有idnumber字段,曾经问过martin为什么不显示学号的问题,他说国外不少学校学号都是属于我的隐私,通常都是不显示出来的。若是要作这个功能,须要在全局增长一个选项,而后在每个须要显示学号的地方打补丁。数据库

看来idnumber仍是有点用的,的确不该该动用。幸亏有一位同行提供了变通的好方法:安全

1.进入moodledata\lang\zh_cn_utf8文件夹,打开moodle.php文件,找到$string['firstname']='名';一行,将“名”改为“姓名”。函数

2.找到$string['lastname']='姓';一行,将“姓”改为“学号”。网站

3.以管理员身份登陆系统,进入安全性/网站策略,找到“全名格式”项,选择“姓名+学号”。spa

4.此时,学生们已经能够正常显示姓名和学号了,但对于老师来讲,没有学号,但此项又是必填项,怎么办呢?能够填入一个空格,或者是“老师”!htm

由于咱们的学生数据已经放在里面了,只能在数据库中动手脚了。看了一下mysql的资料,写了如下两行sql代码,在phpmyadmin中搞定。

UPDATE`mdl_user`SETfirstname=concat(firstname,lastname)WHERELENGTH(username)>7

UPDATE`mdl_user`SETlastname=usernameWHERELENGTH(username)>7

代码说明:concat为合并,mysql不能向mssql同样用+或者&就能够合并的;LENGTH为长度函数。

http://www.aieln.com/article-1415-1.html

相关文章
相关标签/搜索