学号,在国内的用处非常的大,就像身份证一样,用户的唯一标识。但在国外,学号却是非常隐私的,注册时既不是必填项,选填项都谈不上,只有在用户编辑个人资料时,在可选项中有学号的选项,与网页、ICQ号码、Skype号码、机构、系别、电话等在一起,显得可有可无。在国内,我们就非常的不适应,因为学号是唯一的,本人一直在思考这个问题,主要是想添加学号字段,并能在名单、作业、成绩等列表中能实现按学号排序的功能。

随着时间的推移,Moodle慢慢 走向国际化,学号慢慢也突显起来,不仅在用户列表、课程成员列表占有一席之地,在成绩列表也有学号的一栏。所有,Moodle搜集学号也非常有必要了。

学号,既不需要添加用户自定义字段,因为,Moodle本身就带有,学号——idnumber,早就存在于mdl_user表里,一直闲置。

如何拿到学号,最最直接的方式,就是注册、且必填。

经过翻越代码,做如下修改即可:

moodle\login\signup_form.php

添加如下代码:

$mform->addElement('text', 'idnumber', get_string('idnumber'), 'maxlength="255" size="25"');
$mform->setType('idnumber', core_user::get_property_type('idnumber'));
$mform->addRule('idnumber', get_string('required'), 'required', null, 'client');
$mform->setForceLtr('idnumber');

遗憾的时,idnumber为必填项了,不能提示“学号没填”,仅显示“必须的”,关键是没有解决

$mform->addRule('idnumber', get_string('required'), 'required', null, 'client');

get_string('missingidnumber');不能正确解析,尝试过修改moodle\lang\en\moodle.php,添加$string['missinglastname'] = 'Missing surname';然并卵,只能用“required”。

备注:

//You have couple of options://Use server side rules and check them in php code (implement method validation in form class).
$mform->addRule('fieldname', get_string('required'), 'required');//Use client side rules but do not force them
$mform->addRule('fieldname', get_string('required'), 'required', '', 'client', false, false);

虽然这个问题解决了,但这个办法却不是一劳永逸的,每次Moodle一升级,就得改代码。

另外一个折中办法,就是直接导入注册用户,excel表中加入idnumber字段。

注册时添加学号Idnumber相关推荐

  1. 记录 - Dubbo使用Zookeeper为注册中心添加认证口令时,连接失败的故障

    记录 - Dubbo使用Zookeeper为注册中心添加认证口令时,连接失败的故障 故障现象 配置信息 Dubbo服务配置 报错信息 初始化信息 报错的重点信息 报错信息跟踪 解决思路 设置超时时间后 ...

  2. 用Java Instrumentation 在类加载时添加记录

    用Java Instrumentation 在类加载时添加记录 发布者:xanadu0214   来源:网络转载   发布日期:2013年11月06日   Java学习交流群:471651004 在分 ...

  3. 注册时要求获取手机短信码的实现(java)

    在注册用户的时候,我们可能根据需求会需要进行手机短信的验证,本篇博客便是介绍如何实现该功能.(代码后端是基于java,框架用的是SSH) 要发向手机发短信当然就要用到第三方接口,我用的融合通信的接口. ...

  4. 点星PBX(DotAsterisk)外线呼入到离线坐席(sip分机未注册)时,如何播放语音提示外线客户坐席不在线

    1. 公司需求说明 公司部署的点星PBX(DotAsterisk)呼叫中心进行电话业务,一段时间后,运维人员提出了下面一个需求,需求内容如下. 客户公司话务员是轮班制,采用电脑SIP软电话坐席,坐席下 ...

  5. 禁止windows系统创建快捷方式时添加文字“- 快捷方式”

    转载自如何禁止windows系统创建快捷方式时添加文字"- 快捷方式",仅作学习交流使用 如何禁止windows系统创建快捷方式时添加文字"- 快捷方式" 20 ...

  6. php图片写入带问号_php实现图片上传时添加文字和图片水印技巧

    本文实现的功能特别适用于一些商城和图片站中,分享了图片在上传时添加文字和图片水印的技巧,供大家参考,具体内容如下 1. water.class.php header('Content-Type:tex ...

  7. linux svn强制注释,svn强制提交时添加注释

    svn强制提交时添加注释 1.  需求 领导要求开发在提交代码时必须添加注释,经过查资料,实验,然后实现领导的要求. 2.  查看资料 参考svn文档,以及网上博客 通过查看资料,一步一步的实现脚本 ...

  8. 若依管理系统导出Excel时添加没有的列和关联码表显示中文进行导出

    场景 在使用若依后台管理系统时对于单表会自动生成导出相关的接口. 此时如果直接进行导出会导出相应的实体类中添加了 @Excel注解的属性. 自动生成导出接口示例: @GetMapping(" ...

  9. Winform中在使用VS+svn进行协同开发时添加引用时的相对路径和绝对路径的问题

    场景 使用Visual Studio 开发Winform程序,使用SVN进行项目版本管理. 在添加引用时,会出现在A电脑中添加了绝对路径的引用,在B电脑中就会出现找不到 并且将此引用标识为?的状态. ...

  10. 研究 Dubbo 网卡地址注册时的一点思考

    1 如何选择合适的网卡地址 可能相当一部分人还不知道我这篇文章到底要讲什么,我说个场景,大家应该就明晰了.在分布式服务调用过程中,以 Dubbo 为例,服务提供者往往需要将自身的 IP 地址上报给注册 ...

最新文章

  1. 2020年行政区划代码_2020年柳州市行政区划,了解柳州市有几个区,详细数据
  2. amqp协议与pika库浅析
  3. linux与windows下tomcat的java内存设置
  4. 题目:JavaWeb乐购资源管理系统(附源码链接免费下载)
  5. Python 列表List - Python零基础入门教程
  6. Windows11 Docker镜像存储路径更改(非C盘路径)
  7. Oracle join多表查询
  8. 你实现团队管理了吗?
  9. P2P-JXTA学习(1)-入门
  10. Android开发入门前准备
  11. golang中实现RSA(PKCS#1)加密解密
  12. 如何用手机远程控制电脑
  13. 子线程中使用Handler
  14. Puppet erb模板介绍(三十二)
  15. 安装cadence软件到使用过程中遇到的问题和解决方法
  16. 远传融创-啥是比特?哈利波特?
  17. 基于PHP语言Laravel+Layui后台代码生成工具
  18. Android 动画应用大集合
  19. 一篇文章读懂 React and redux 前端开发 -DvaJS, a lightweight and elm-style framework.
  20. 将eps文件控制在300K左右

热门文章

  1. mybatis plus 生成代码 保存方法主键报错 nested exception is org.apache.ibatis.reflection.ReflectionException: Cou
  2. 建立PCI网卡无盘工作站自动上网(转)
  3. 计算机方面各种级别论文版面费,国内计算机类杂志投稿评价.doc
  4. Rider 全局搜索搜索不到内容
  5. java netbeans_Java和Netbeans字体美化
  6. 故障解决:发生系统错误 67 找不到网络名
  7. 基于TB67S109AFNAG的步进电机控制板分享
  8. laravel集合collect中的implode
  9. 这才叫高颜值的Markdown编辑神器!
  10. usb扩展坞同时接键盘鼠标_雷柏XD200 USB-C 10口扩展坞分线转换器详解