Dans un cours, quand je veux rajouter des élèves déjà inscrits sur la plate-forme, je vais dans le menu Administration rubrique élèves
Les inscrits sur la plate-forme apparaissent classés par ordre alphébétique de prénom. Comment faire pour obtenir un classement par ordre alphabétique de nom ?
Merci
S. Goussault
Re: Classement par ordre alphabétique des élèves
malheureusement, je n'ai pas de réponse (positive) à apporter
Mais je voulais juste dire que ce serait effectivement une bonne chose (de pouvoir choisir l'ordre de tri) à ajouter
Dans la page de configuration : Administration » Configuration » Paramètres techniques, le paramètre fullnamedisplay de la rubrique Utilisateur règle cela.
je dirais qu'effectivement, c'est une façon (technique) de contourner le problème...
... en changeant (pour toute la plateforme) le mode d'affichage des noms !
Mais il me semble que généralement en français, on laisse apparaitre sous la forme "Prénom + Nom", ce qui me parait mieux !
... et n'empêcherait pas d'avoir un tri sur le nom lorsque cela semble nécessaire.
Mais malheureusement, c'est ce qui n'existe pas actuellement...
Re: Classement par ordre alphabétique des élèves
J'ai modifié le fichier
moodle/course/student.php pour modifier la requete
effectivement c'est plus agréable
/// Get all existing students and teachers for this course.
if (!$students = get_course_students($course->id, "u.lastname ASC, u.firstname ASC", "", 0, 99999,
'', '', NULL, '', 'u.id,u.firstname,u.lastname,u.email')) {
$students = array();
}
if (!$teachers = get_course_teachers($course->id)) {
$teachers = array();
}
$existinguserarray = array();
foreach ($students as $student) {
$existinguserarray[] = $student->id;
}
foreach ($teachers as $teacher) {
$existinguserarray[] = $teacher->id;
}
$existinguserlist = implode(',', $existinguserarray);
unset($existinguserarray);
/// Get search results excluding any users already in this course
if (!empty($frm->searchtext) and $previoussearch) {
$searchusers = get_users(true, $frm->searchtext, true, $existinguserlist, 'lastname ASC, firstname ASC',
'', '', 0, 99999, 'id, firstname, lastname, email');
$usercount = get_users(false, '', true, $existinguserlist);
}
/// If no search results then get potential students for this course excluding users already in course
if (empty($searchusers)) {
$usercount = get_users(false, '', true, $existinguserlist, 'lastname ASC, firstname ASC', '', '',
0, 99999, 'id, firstname, lastname, email') ;
$users = array();
if ($usercount <= MAX_USERS_PER_PAGE) {
$users = get_users(true, '', true, $existinguserlist, 'lastname ASC, firstname ASC', '', '',
0, 99999, 'id, firstname, lastname, email');
}
JYC
Re: Classement par ordre alphabétique des élèves
Bonjour,
Merci beaucoup Jean Yves. La modification faites sur le fichier report.php fonctionne parfaitement
En revanche celle évoquée par Etienne (modification du paramètre fullnamedisplay dans la config) n'affectent pas chez moi le classement par ordre alphabétique des élèves dans le menu administration du cours à la rubrique élèves.
Je ne parlais pas de la liste des élèves que l'on a quand on clique dans le menu participants du cours.
Stéphane
Bonjour, je rebondit sur cette ancienne discussion pour savoir si une astuce similaire est possible pour avoir un classement alphabétique sur le nom quand on clique dans un cours sur "Groupes" et ce, sans avoir à changer le paramètre "fullnamedisplay" que je laisse à Prénom + Nom.
Merci d'avance. Patrice
Je pense que c'est du même ordre, attention toutefois, ce type de modif est à refaire à chaque mise à jour de Moodle ca qui n'est pas forcément très commode
Jean-Yves
OK, mais dans quel fichier dois-je faire la modif ? Je n'ai pas trouvé de lignes similaires dans le fichier groups.php...
Patrice
Re: Classement par ordre alphabétique des élèves
si je lis correctement, tu as inversé firstname et lastname dans le critère de tri sur 4 appels de fonction. j'ai effectué la modif chez moi mais cela n'a pas d'incidence sur l'affichage. Faut -il faire autre chose ?
Par ailleurs je me suis posé la même question concernant les listes d'étudiants quand il s'agit de les affecter à des groupes : j'ai ajouté un tri analogue dans groups.php lors de l'appel de get_course_students mais là non plus, cela n'a pas d'effet car derrière il y a un appel à la fonction php natcasesort qui refait un tri du tableau.
Re: Classement par ordre alphabétique des élèves
Pour avoir le classement des élèves par ordre aphabétique; il faut bien inverser partout fisrname et lastname.
$searchusers = get_users(true, $frm->searchtext, true, $existinguserlist, 'lastname ASC, firstname ASC',
'', '', 0, 99999, 'id, lastname, fistname, email');
4 appels => 16 modifications.
Chez moi les élèves apparaissent par ordre alphabétique y compris quand il s'agit de les classer par groupe.
S. Goussault
Moodle 1.6.2+
Bonjour,
Dans Moodle 1.8, le classement alphabétique des élèves se fait sur le prénom.
Pour avoir un classement alphabétique sur le nom (ce qui est nettement plus pratique !) il fallait sous moodle 1.6 modifié le fichier student.php avec la manip indiquée ici.
Mais avec Moodle 1.8, je ne trouve plus student.php.
Avez-vous une autre solution pour classer les élèves par ordre alphabétique selon les noms (y compris dans les groupes)
Merci d'avance.
Didier Dumas