MENU DINAMICO MOODLE

MENU DINAMICO MOODLE

de jimena muñoz -
Número de respuestas: 7
Mi pregunta es la siguiente estoy intentando hacer un menu horizontal que se va a ver en todas las paginas del sitio, de un curso, y necesito que las actividades como (chat, foro, evaluaciones) se puedan vincular desde el menú mi problema es que al llamar la variable global $COURSE, toma el id del curso cuando estoy dentro de la pagina principal del curso, pero cuando voy a una pagina de las actividades por ejemplo foro, cambia el valor de $COURSE y el menu deja de funcionar, alguien podrìa ayudarme con esto

gracias.
Promedio de valoraciones: -
En respuesta a jimena muñoz

Re: MENU DINAMICO MOODLE

de Patricio Pinilla -
No te puedo ayudar ya que tengo el mismo problema, tengo un menú horizontal al cual quiero asignar vínculos "generales" sobre, foros, participantes, perfil, recursos.
Si alguien me pudiera ayudar estaría muy agradecido.

En respuesta a Patricio Pinilla

Re: MENU DINAMICO MOODLE

de Xavier Paz -
¿Estás usando el valor contenido en el atributo $COURSE->id para generar ese menú? Si pudieras poner parte del código, ayudaría a detectar mejor el problema.
En respuesta a Xavier Paz

Re: MENU DINAMICO MOODLE

de jimena muñoz -
Hola Xavier gracias por responder

Lo he intendado con $COURSE->id pero no funciona, te envio parte del codigo que estoy utilizando

<?php
$course = $COURSE->id;
if ($course == 0)
//para el home
$courseid=optional_param('courseid', 0, PARAM_INT);
else
$courseid=$course;

$userid=$USER->id;
?>
<li><div ><a href="#">HERRAMIENTAS COMUNICATIVAS </a></div>
<ul class="submenu">
<li> <a href="<?php echo $CFG->wwwroot.'/mod/chat/index.php?id=$course'?>">CHAT</a></li>
<li><a href="<?php echo $CFG->wwwroot.'/mod/forum/index.php?id=$course''?>">FORO</a></li>


En respuesta a jimena muñoz

Re: MENU DINAMICO MOODLE

de Xavier Paz -
Por lo que cuentas, supongo que quieres hacer algo parecido al menú que aparece en la parte superior del sitio oficial de Moodle, sin menús desplegables pero el concepto es muy similar.

La clave es saber donde usar la variable $COURSE->id. Para que el menú aparezca y funcione en todos los ámbitos (curso, portada, foro, perfil, etc...) debe estar incrustado en la cabecera del tema de apariencia en uso, esto es en el archivo header.html del tema en uso.


El como generar el menú es otro tema, ya que para hacerlo de forma automática, sin tener que poner explicitamente los enlaces a los recursos sino generándolos al vuelo según lo que haya en el curso, tendrías que recuperar todos los módulos existentes en ese curso y procesar solo aquellos que te interesen (chat, foro y evaluaciones por ejemplo)


Además debes de tener en cuenta que si el valor de id es 1, eso indica que el usuario está en portada y por tanto el menú no tiene sentido porque la portada del sitio no tiene actividades al uso (chat, foro, evaluaciones) Tendrás que pensar que mostrarás en ese caso.


P.D: en ningún caso hace falta usar la función optional_param(), ya que su misión es recuperar parámetros pasados por URL, y en este caso tú quieres acceder a una variable global ($COURSE), que se actualiza en todo momento según el curso donde se encuentre el usuario.

En respuesta a jimena muñoz

Re: MENU DINAMICO MOODLE

de Patricio Pinilla -
Perfecto, a mi me fuciono cambiando el ide por la variable global $COURSE->id
Muchas Gracias
En respuesta a Patricio Pinilla

Re: MENU DINAMICO MOODLE

de pablo ramirez -

Yo tambien estoy interesado, será que puedes explicar como lo hiciste? y especificando como lo necesita jimena: chat, foro y evaluaciones o cualquier otro elemento que le quiera agregar. Gracias

En respuesta a pablo ramirez

Re: MENU DINAMICO MOODLE

de Fabián Serna -
Que tal Pablo... Una opción muy fácil es que crees un bloque vertical y le diseñes un menú y lo personalices con la ayuda de un archivo CSS. Cada botón del menú debe estar enlazado a la dirección de la herramienta que selecciones para que haga parte del menú. Con el que si debes de tener cuidado es con el de calificaciones, pues debe dirigirlo hacía la categoría Usuario. Al momento de restaurar cursos estos ya salen con este menú, pero si deben redirigir las calificaciones hacia la categoría Usuario individualmente, ya que al restaurar queda enlazado al curso original, pero es con el único que sucede esto, ya que con foros y actividades se enlazan automáticamente. El menú lo debes configurar para que aparezca en Cualquier página para siempre sea visible dentro del curso sin importar donde se ingrese. Espero que haya sido de ayuda.