Mensaje que indique al estudiante que no está matriculado en ningún curso.

Mensaje que indique al estudiante que no está matriculado en ningún curso.

de javier D -
Número de respuestas: 9

Buenas comunidad, hoy les pido la colaboración en el siguiente tema:

Actualmente tengo configurado la pagina principal para que luego de loguearse muestre "mis cursos" es decir que me muestra los cursos donde está el estudiante matriculado, hasta allí todo bien.

Cuando un estudiante no esta matriculado en ningún curso le muestra los cursos disponibles, lo que deseo es que además de esto le indique con un mensaje  que él no se encuentra matriculado en ningún curso actualmente.

Agradezco sus aportes para lograr configurar si se pudiese o alguna idea que se acerque a lo planteado.

HOLA!  Actualmente no estás inscrito en ninguno de nuestros cursos.

Ver cursos disponibles.

Nota: Moodle 3.0.2+ (Build: 20160114)

Promedio de valoraciones: -
En respuesta a javier D

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de Jose Maria Blanquer -

Hola javier, no se que nivel tienes de programación, ni se si la plataforma donde lo tienes es un Moodlerooms, igualmente, te echare un cable

Suponiendo que tienes acceso al código, y no estás en MoodleRooms, la forma más sencilla sería editando el código.. Te explico a grosso modo, que deberías hacer:

- Localizar la página donde quieres que aparezca el mensaje.

-Una vez abierta, abrir el archivo php y encontrar la línea donde quieres hacerlo

-Te recomiendo usar funciones de Moodle, para obtener si un usuario esta matriculado en ciertos cursos.. Aqui lo tienes

-Al guardar el archivo con las modificaciones, ya aparecerá el mensaje..

Te lo he explicado así, porque no se si esta respuesta es lo que buscabas, si es así, podría ser mas explícito y ayudarte más profundamente con el código.

Un saludo!

En respuesta a Jose Maria Blanquer

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de javier D -

Hola Jose, primero agradecerte por responder.

En efecto es lo que intento,Te cuento que poseo un conocimiento básico de php, si tengo acceso al código de Moodle, pero no conozco su estructura  , la idea es que el mensaje se vea la pagina principal luego de loguearse.

Agradezco tus orientaciones que me permitan llegar al código y hacer las modificaciones.

En respuesta a javier D

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de Franco Pantoja -
Imagen de Moodlers de gran ayuda

Buenas

Lo que te indica Jose María puede ser una buena opción.

Si deseas conservar el core Moodle deberías lanzar este mensaje desde el theme, por ejemplo en el header.

Una función que podría serte muy útil 

$mycourses = enrol_get_all_users_courses($user->id, true, NULL, 'visible DESC,sortorder ASC')

De esta manera si no recoge valores, el usuario no tiene cursos matriculados


Saludos!!

En respuesta a Franco Pantoja

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de javier D -

Hola paco, en el theme solo he modificado algunas cosas de estilo(css) pero en cuestiones de programación aún no toco eso, como le comentaba al compañero jose maría conozco poco la estructura, pero tengo conocimientos básicos de programación como para seguir algunas indicaciones que puedan darme.

Gracias por tu aporte, quedo atento, salu2.

En respuesta a javier D

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de Franco Pantoja -
Imagen de Moodlers de gran ayuda

Buenas

A ver si podemos ayudarte.

Localiza en tu theme, seguramente dentro de la carpeta layout el archivo header.php

Aquí podemos introducir nuestro código

        $frontpage = $PAGE->bodyid == "page-site-index";
        if ($frontpage) {                                 //  just in frontpage 
             $mycourses = enrol_get_all_users_courses($USER->id, true, NULL, 'visible DESC,sortorder ASC')
              if (!mycourses) { 
                      echo '<p>No matriculado en ningún Curso</p>'
              }
        }


Saludos!!

En respuesta a Franco Pantoja

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de Jose Maria Blanquer -

Como bien te indica Paco Franco, prueba ese código..

A modo de consejo, te recomiendo utilizar la clase html_writter de Moodle(aqui) ya que simplifica el código, es más fácil de ver, y queda mas aseado

Un ejemplo que se podría aplicar al código de Paco Franco, sería


$frontpage = $PAGE->bodyid == "page-site-index";
        if ($frontpage) {                                 //  just in frontpage 
             $mycourses = enrol_get_all_users_courses($USER->id, true, NULL, 'visible DESC,sortorder ASC')
              if (!mycourses) { 
                      echo html_writter::tag('p', 'No matriculado en ningún Curso', array('id' => 'la_que_quieras', 'class' => 'las clases que quieras'));
              }
        }

Espero que te haya servido de ayuda.. y si aún siges teniendo dudas, no tengas reparo en decirlo, que estamos para ayudarnos sonrisa

En respuesta a Jose Maria Blanquer

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de javier D -

Hola jose, luego de unos imprevistos retomo la tarea que presenté, intenté lo que me indicaste pero no lo logro, no se si estoy haciendo algo mal.

Te cuento que hice que modifique lo siguiente y me funcionó pero no lo he subido a producción quisiera que ustedes me indicaron si me pudiera causar problemas futuros, con actualizaciones o cosas por el estilo.

Entré a moodle al archivo index.php y encontré el siguiente comentario

// No "break" here. If there are no enrolled courses - continue to 'Available courses'.

entonces hice lo siguinte

echo $OUTPUT->heading(get_string('noenrool'));

cree la variable noenrool, que contiene el mensaje "Usted no tiene cursos matriculados actualmente"

Saludos y agradezco sus aportes sobre la solución o su ayuda para irme por donde ustedes me guíen.

En respuesta a javier D

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de Anibal Alvarez -

Mi no entender. Ganas de tocar el Moodle. Ok, son gente de sistemas que les encanta "hacer ajustes". Pero bueno, son gustos.  Que conducen a nada pero no es el tema

Digo. Tiene "mis cursos" y mis cursos está en blanco.  Me parece, hay que indicarle que no está anotado en ningún curso?  ¿Tan distraídos son? Puedes poner un cartelito (para tratarlos de lelos) "si en "mis cursos" no tiene cursos, es que no está anotado en ningún curso". ¿Medio feito verdad?  Bueno, casi lo mismo que se pretende.

Saludos. Y disculpen mi enfado con andar modificando el producto. Luego en las migraciones los quiero ver... O ¿no migran nunca? 

Anibal


En respuesta a javier D

Re: Mensaje que indique al estudiante que no está matriculado en ningún curso.

de Eder dos Santos -

Hola, Javier.

Por un lado, si modificas tus códigos, ten en cuenta hacer un registro de cambios como los dioses de la Ingeniería de Software mandan, así no te pierdes y estás atento a que los cambios se hagan en futuras actualizaciones.

Por otro lado, no sé como funcionará tu portada en versión 3, pero aquí usamos una distribución 2.4 con el "my moodle" activado. Allí se encuentra el bloque "Vista general de cursos"; en el caso en que no haya cursos, se exhibe un mensaje ("No hay información del curso para mostrar"). Creo que si puedes implementar este bloque para tus usuarios, sería más fácil personalizar la traducción de este mensaje y tendrías así tu asunto resuelto.

Salu2.