Как отобразить только студентов на странице пользователей (Moodle:/admin/user.php )

#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