desarrollo de un bloque

desarrollo de un bloque

de cristian andres rodriguez ortega -
Número de respuestas: 5

hola a todos... necesito ayuda.. estoy desarrollando un bloque para moodle 2.6  necesito hacer una consulta que me muestre los estudiantes y el curso al que pertenecen. pero como soy nuevo en esto no he podido desarrollarla no se donde puedo ver las tablas de la base de datos de moodle para estructurar mi consulta. mil gracias por su colaboración 

Promedio de valoraciones: -
En respuesta a cristian andres rodriguez ortega

Re: desarrollo de un bloque

de Franco Pantoja -
Imagen de Moodlers de gran ayuda

Hola

puedes probar con las funciones que incorpora Moodle haciendo uso de sus diferentes APIS

https://docs.moodle.org/dev/Core_APIs

En particular, te pueden ser muy útiles

$students = get_enrolled_users(get_context_instance(CONTEXT_COURSE, $course->id), $withcapability = '', $groupid = 0, $userfields = 'u.*', $orderby = 'id', $limitfrom = 0, $limitnum = 10); // array usuarios por idcourse
$mycourses = enrol_get_all_users_courses($user->id, true, NULL, 'visible DESC,sortorder ASC'); // array cursos por usuario

Espero que pueda serte útil

Saludos!!

En respuesta a Franco Pantoja

Re: desarrollo de un bloque

de cristian andres rodriguez ortega -

Hola paco... Muchas gracias por tu aporte he logrado mostrar en un bloque aparte los alumnos, me gustaría saber si hay alguna forma de saber a nivel de base de datos cuando un alumno ha realizado una actividad gracias de antemano.

En respuesta a cristian andres rodriguez ortega

Re: desarrollo de un bloque

de Franco Pantoja -
Imagen de Moodlers de gran ayuda

Hola Cristian,

tienes varias opciones.

Puedes utiizar las propias funciones del módulo en concreto, que deberían localizarse en mod/mymod/locallib.php (o en cualqier otra librería importada), nos encontramos (por ejemplo en quiz) con algunas tan útiles como

/**
 * @param int $quizid The quiz id.
 * @return bool whether this quiz has any (non-preview) attempts.
 */
function quiz_has_attempts($quizid) {
    global $DB;
    return $DB->record_exists('quiz_attempts', array('quiz' => $quizid, 'preview' => 0));
}
$attempts = quiz_get_user_attempts($quizid, $userid);

De esta sencilla forma, en sólo dos pasos podemos saber si un quiz ha tenido algún intento y luego obtener información sobre el intento de un usuario en particular.

Recuerda que para obtener la información de módulos por curso, puede serte muy útil

$cs = get_coursemodules_in_course('quiz', $courseid );

Desde donde podemos encontrar la información sobre el id, tanto del módulo como de la instancia.

La otra opción es atacar directamente a la base de datos sonrisa

Depende del recurso del que quieras tener información, seleccionas la consulta que pueda encajarte, {quiz_attempts} en el ejemplo que vemos, donde podemos filtrar por quiz, userid y attempt, bien en {scorm_scoes_track}, del que podemos conocer los intentos por usuario.


Espero que pueda serte útil


Saludos!!