Estoy intentando obtener los alumnos de un curso en Moodle 1.7.
He visto que hay un tabla que se llama role_assignments y en ella están los usuarios del curso. Haciendo una consulta con la id del Rol Student puedo sacar los alumnos pero para filtar por curso solo veo un campo que se llama context.Pero este campo no se como obtenerlo.
Sabéis como lograrlo o si existe una función como get_student?
Gracias
Jorge, a ver si te sirve esto:
Cuando accedes a las calificaciones de los alumnos, puedes descargarlas en formato hoja de cálculo. En esa hoja de cálculo, estan los datos de los alumnos , inclusa hay una columna con todos los e-mails.
Un saludo
Cuando accedes a las calificaciones de los alumnos, puedes descargarlas en formato hoja de cálculo. En esa hoja de cálculo, estan los datos de los alumnos , inclusa hay una columna con todos los e-mails.
Un saludo
Hola Francisco Javier,
gracias por contestar.
Mi problema exactamente es que estoy programando un nuevo bloque de calificaciones y no se como obtener el listado de alumnos en la Moodle 1.7. Ya que en esta hay que buscar partiendo de los roles.
He estado mirando las calificaciones actuales de moodle pero no encuentro como lo obtiene.
Gracias
gracias por contestar.
Mi problema exactamente es que estoy programando un nuevo bloque de calificaciones y no se como obtener el listado de alumnos en la Moodle 1.7. Ya que en esta hay que buscar partiendo de los roles.
He estado mirando las calificaciones actuales de moodle pero no encuentro como lo obtiene.
Gracias
Hola Jorge:
Como bien dices, puedes obtener los alumnos de un curso mediante la tabla "role_assignments".
Si quieres obtener los usuarios de un curso, haz:
$context = get_context_instance(CONTEXT_COURSE, $course->id);
si haces una busqueda de los usuarios, en la tabla donde el context sea igual al que has sacado, habrás obtenido los usuarios de un determinado curso.
Un saludo
Alberto
Me suena que hay una función llamada get_course_students(), aunque está en deprecatedlib.php y según el texto que hay en la cabecera del mismo, el código nuevo no debería usar esas funciones porque desaparecerán en el futuro.
Sin embargo, puedes echar una ojeada a la implementación de la función para ver como usar la funcionalidad de los roles (obtener el contexto, etc.).
Saludos. Iñaki.
Sin embargo, puedes echar una ojeada a la implementación de la función para ver como usar la funcionalidad de los roles (obtener el contexto, etc.).
Saludos. Iñaki.
Muchas gracias por todo. No había visto esta función, pero la estudiare.
Aunque al final lo hice con $context = get_context_instance(CONTEXT_COURSE, $course->id);
y luego usando get_role_users.
Gracias a todos
Aunque al final lo hice con $context = get_context_instance(CONTEXT_COURSE, $course->id);
y luego usando get_role_users.
Gracias a todos
Y si yo quisiera obtener los cursos en los que participa un alumno o profesor?
Si quieres todos los usuarios (alumnos Y profesores) te bastará con la solución que se propone aquí.
<<...
$context = get_context_instance(CONTEXT_COURSE, $course->id);
<<...
$context = get_context_instance(CONTEXT_COURSE, $course->id);
si haces una busqueda de los usuarios, en la tabla donde el context sea igual al que has sacado, habrás obtenido los usuarios de un determinado curso.
...>>