#moodle
#мудл
Вопрос:
Я хочу отображать только учащихся на странице пользователей moodle, не добавляя фильтр вручную с помощью веб-интерфейса. Кто-нибудь может мне помочь, как это сделать?
Ответ №1:
Вы можете создать ссылку, которая показывает только студентов, но вам нужно будет опубликовать данные. Вот как я это сделал.
Если вы установите WebDeveloper — http://chrispederick.com/work/web-developer /
Затем перейдите к /admin/user.php и нажмите WebDeveloper, выберите вкладку «Формы» и «конвертировать записи в GETS».
Выберите фильтр и нажмите Добавить фильтр. При этом будет отображен URL-адрес со всеми полями формы. Однако Moodle ожидает POST, а не GET.
Итак, скопируйте и вставьте URL-адрес в переменную и используйте функцию single_button с методом post, например:
$url = '/admin/user.php?sesskey=xxxxxxxamp;_qf__user_add_filter_form=1amp;mform_showmore_id_newfilter=1amp;mform_isexpanded_id_newfilter=1amp;realname_op=0amp;realname=amp;lastname_op=0amp;lastname=amp;firstname_op=0amp;firstname=amp;email_op=0amp;email=amp;city_op=0amp;city=amp;country_op=0amp;confirmed=amp;suspended=amp;profile_fld=0amp;profile_op=0amp;profile=amp;courserole_rl=5amp;courserole_ct=0amp;courserole=amp;systemrole=0amp;cohort_op=2amp;cohort=amp;username_op=0amp;username=amp;auth=amp;deleted=amp;addfilter=Add filter';
echo $OUTPUT->single_button($url, get_string('student'), 'post');
Скопируйте и вставьте свой собственный URL-адрес, а не приведенный выше.
Вероятно, вы можете удалить многие параметры. Вы также должны получить идентификатор роли для учащегося и использовать функцию moodle_url, например:
$studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'));
$params = array('courserole_rl' => $studentroleid, 'courserole_ct' => 0, ... );
$url = new moodle_url('/admin/user.php', $params);
echo $OUTPUT->single_button($url, get_string('students'), 'post');
Ответ №2:
Это невозможно, так как в Moodle редко кому-то назначается роль «ученика» на системном уровне (и если бы вы это сделали, у них был бы доступ ко всем курсам на сайте).
Понятие «студент» в Moodle имеет смысл только на уровне курса.
Комментарии:
1. Я думаю, он говорит о списке просмотра пользователей — есть возможность отфильтровать роль учащегося в разделе роль курса, когда вы нажимаете «показать больше» — /admin/user.php