1. 程式人生 > >讓moodle增加學號

讓moodle增加學號

tro 網站 數據 ber ade http con amp name

讓moodle更加中文化(增加學號)

這個學期,信息技術學科采用moodle作為教學平臺,畢竟moodle是外國人開發的,用著總不習慣,比如學號。輸出的成績如果沒有學號在裏面,我們一位老師要教4個班級可怎麽辦啊。我們的學生是用學號為用戶名的,但是在moodle的很多管理界面中是看不到用戶名。

解決這個問題也走了一些彎路,先是修改了/grade/export/xls/下的grade_export_xls.php文件,將email替換為username。因為email字段沒有什麽用,就直接輸出用戶名算了,暫時就這樣把期末的學生成績輸出。

過了幾天,有點空了,總覺得這樣不好,因為看不到學號,像我們這樣實施走班教學的,管理起來真的不方便。再次研究moodle,發現其有個idnumber,好像是閑置的,看看能不能利用起來。折騰了一會兒,還是感覺這樣改代碼的方式總不好,哪天moodle升級了,我還是要改代碼,不是一勞永逸的辦法。

在我網上找資料,想看看其他用moodle的同行是怎麽做的,結果發現有人在帖子中提到:

Moodle的user表中有idnumber字段,曾經問過martin為何不顯示學號的問題,他說國外很多學校學號都是屬於個人隱私,一般都是不顯示出來的。如果要做這個功能,需要在全局增加一個選項,然後在每一個需要顯示學號的地方打補丁。

看來idnumber還是有點用的,的確不應該動用。幸好有一位同行提供了變通的好方法:

1.進入moodledata\lang\zh_cn_utf8文件夾,打開moodle.php文件,找到$string[‘firstname‘]=‘名‘;一行,將“名”改成“姓名”。

2.找到$string[‘lastname‘]=‘姓‘;一行,將“姓”改成“學號”。

3.以管理員身份登錄系統,進入安全性/網站策略,找到“全名格式”項,選擇“姓名+學號”。

4.此時,學生們已經可以正常顯示姓名和學號了,但對於老師來說,沒有學號,但此項又是必填項,怎麽辦呢?可以填入一個空格,或者是“老師”!

因為我們的學生數據已經放在裏面了,只能在數據庫中動手腳了。看了一下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

讓moodle增加學號