我被困在穆德的一个地方。
默认值:当管理员注册学生或老师时,搜索将通过姓名,电子邮件或用户名进行。
要进行的更改:包括默认+按注册号(在另一个表- mdl_info_data 中,所有剩余数据在 mdl_user 表中)搜索 >
默认情况下,此处的搜索过滤器按用户名,全名或电子邮件ID运行。
在课程设置中,我被要求添加一个名为注册号的新字段,其数据进入
答案 0 :(得分:0)
我解决了自己的问题。
如果将来有人遇到类似问题,您可以通过转到页面来解决此问题
页面-project / enroll / locallib.php
查询分为两个功能:
get_potential_users()-编写查询-第453行(大约)
///添加了LEFT JOIN以在注册号之间创建链接-16.01.2019 $ sql =“ FROM {user} u 左联接{user_enrolments} ue ON(ue.userid = u.id和ue.enrolid =:enrolid) 左联接{user_info_data} uid开(uid.userid = u.id) $ wherecondition和ue.id为NULL的位置 “;
2。 get_basic_search_conditions-在哪里添加条件的搜索(在我的情况下,我还通过注册号添加搜索)
// added the second where clause
$conditions[] = $DB->sql_fullname('u.firstname', 'u.lastname');
$conditions[] = 'uid.data'; // added for filtering by registration number - 16.01.2019
我也附加了locallib.php页面,以便更好地理解
您也可以通过此Moodle链接获取附件:)。 https://moodle.org/mod/forum/discuss.php?d=380942#p1536136