Изменить запрос поискового фильтра плагина регистрации курса (Moodle 3.5) - PullRequest
0 голосов
/ 14 января 2019



Я застрял в месте в Moodle.

По умолчанию: Когда администратор регистрирует ученика или учителя, поиск происходит по имени, электронной почте или имени пользователя.

Изменения, которые необходимо внести: включить по умолчанию + поиск по регистрационному номеру (который находится в другой таблице - mdl_info_data , все остальные данные находятся в mdl_user таблица), показанные на скриншотах

Здесь по умолчанию фильтр поиска выполняется по имени пользователя, полному имени или идентификатору электронной почты.

В настройках курса меня попросили добавить новое поле с именем регистрационный номер, данные которого отправляются на

enter image description here

enter image description here

enter image description here

1 Ответ

0 голосов
/ 17 января 2019

Я исправил собственную проблему.

Если кто-то столкнется с подобной проблемой в будущем, вы можете исправить это, перейдя на страницу

Страница - project / enroll / locallib.php

Запрос разбит на две функции:

  1. get_potential_users () - запрос написан - строка 453 (приблизительно)

    // добавлено LEFT JOIN для создания ссылки между регистрационным номером - 16.01.2019 $ sql = "FROM {user} u LEFT JOIN {user_enrolments} ue ON (ue.userid = u.id AND ue.enrolid =: enrolid) LEFT JOIN {user_info_data} uid ON (uid.userid = u.id) ГДЕ $ wherecondition AND ue.id НЕДЕЙСТВИТЕЛЬНО «;

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

...