2015-01-09 2 views
0

Я понял, что по умолчанию поле поиска в Assign глобальных ролях выполняет поиск только по имени, фамилии и почте.Назначить глобальный поиск ролей

Есть ли способ добавить новое поле для поиска? Пример: Город, пользовательское поле и т. Д.

Я попытался прочитать исходный код и его головоломку OO.

ответ

0

Какая версия Moodle у вас есть?

Подробности ниже на основе master ветви MOODLE хранилища:

Есть 2 класса, которые используются для поиска потенциальных пользователей:

В глобальном поиске admin/roles/assign.php?contextid=1&roleid=2 Второй класс используется core_role_potential_assignees_course_and_above.

В файле /admin/roles/assign.php строка 94 используется функция core_role_get_potential_user_selector, используемая для создания объекта.

Вы можете либо изменить существующий класс, либо создать новый класс с помощью собственных реализаций. (Второй вариант лучше, на мой взгляд). Если вы создали свою собственную реализацию, то вам нужно будет заменить line 94.

В классе core_role_potential_assignees_course_and_above существует метод, называемый search_sql. Этот метод используется для генерации предложения WHERE.

Надеюсь, это поможет

Смежные вопросы