Bloques de menú

Bloques de menú

de Nacho Pindado -
Número de respuestas: 4

Buenas tardes

En nuestra institución queríamos que en los cursos existiera una especie de menú desde el cual se pudiera acceder a las calificaciones, a editar los ajustes del curso, modificar tu información etc, en consecuencia intentamos hacerlo creando un modulo de HTML ya que la intención era que se viese todo mediante iconos, no mediante texto, pero eso nos imposibilitaria poner las funciones especificas del profesor, ya que no conseguimos restringir que los profesores vean unos apartados y los alumnos otros

¿saben si existe un bloque que permita hacer esto mismo?¿se les ocurre otra alternativa?

Utilizamos la versión 2.3.6+

 

Promedio de valoraciones: -
En respuesta a Nacho Pindado

Re: Bloques de menú

de roberto mm -

Hola. Una modificación de ese tipo merece la pena que se desarrolle como módulo externo, ya que el trabajo necesario puede ser mucho.

Sobre tu problema concreto sobre roles la solución es simple, crea dos bloques, uno para alumnos y otro para profesores y restringe su visibilidad en función del rol, de modo que cada usuario sólo vea el suyo.

Un saludo. Roberto

En respuesta a Nacho Pindado

Re: Bloques de menú

de Nacho Pindado -

Gracias por la respuesta

 

Como puedo hacer eso de los roles, cada vez que pongo el bloque de HTML me dice que no se puede asignar distintos roles en ese bloque

En respuesta a Nacho Pindado

Re: Bloques de menú

de David Hernández -

Hola Nacho,

Está interesante tu idea sonrisa

Y creo que la solución más rápida va por lo comentado por Roberto.

Esto es, crear un par de bloques HTML y volverlos visibles o no en función de si el usuario tiene tal o cual rol (para fijar los roles, da clic en el ícono de "asignar roles" del propio bloque y luego, en la opción "permisos").

Salvo conocer con más detalle cómo te gustaría la funcionalidad del bloque y qué elementos contendría, me permito comentarte lo siguiente...

En mi plataforma yo tengo varios vínculos:

1) Información del curso.

Aquí colocamos un link a la página que aparece cuando el profesor coloca la información general del curso, y ponemos cosas muy administrativas, pero esenciales: objetivos, prerrequisitos, modo de calificar, etc.

2) Agenda del día

Vínculo a la página del calendario del curso

3) Calificaciones

Vínculo al calificador

4) Actividad en el curso

Vínculo a donde se muestran qué han hecho los participantes del curso en las diferentes actividades.

5) Como tres o cuatro más...

De manera rústica, los vínculos pueden ser incluidos pegándolos de las páginas respectivas, sea accesando a ellas, sea copiando los links incluidos en diversos bloques (Ej. tenemos también un vínculo al listado de participantes del curso, tomado del bloque "Personas").

El problema de este método es que en cada curso se debe crear manualmente el bloque HTML, copiando los vínculos uno por uno.

Entonces lo que hicimos fue crear un menú superior en el tema de la plataforma, aprovechando el identificador (<div id="custommenu">) que coloca el propio Moodle cuando optas por crear un menú superior.

Obviamente si nosotros usamos dicho identificador, perdemos la posibilidad de usar esta funcionalidad, pero realmente esto no nos afecta.

Entonces, grosso modo copiamos el código HTML de cuando Moodle genera el menú superior y lo colocamos en el o los archivos PHP correspondientes del tema en uso (carpeta "layout").

Y en cada elemento <li> del menú pusimos código PHP que nos permite generar dinámicamente los hipervínculos de cada curso.

Por ejemplo, para crear un vínculo al calificador usamos algo como:

<div id="custommenu">

<ul>

<li>

<a href="<?php echo $CFG->wwwroot.'/grade/report/index.php?id='. $COURSE->id; ?>"><?php echo get_string('grades', 'moodle'); ?></a>

</li>

</ul>

</div>

Con lo marcado en rojo, obtenemos la dirección de todos los cursos.

Con lo marcado en azul, obtenemos el ID exclusivo de cada curso

Con lo marcado en verde, obtenemos el texto asociado al hipervínculo, incluido en el locale o idioma de la plataforma (en nuestro caso, el Español Internacional).

Nota que no tenemos problems con los roles, porque Moodle se encarga de ello automáticamente.

Es decir, cuando alguien entra, por ejemplo, al calificador Moodle evalúa sus capacidades y despliega más o menos elementos dependiendo de ellas.

Yo creo que la lógica descrita te puede servir, ya sea que también generes un menú superior, o ya sea que generes un bloque propio (si colocas un bloque HTML desde el interior del curso, no puedes incluir código PHP).

Si optas por este último camino, quizá lo mejor será volver el bloque fijo para todos los cursos (lo que anteriormente llamábamos bloques Sticky).

Espero que todo lo anterior te haga sentido guiño

Saludos

PD Si optas por desarrollar algo, puedes desplegar más o menos elementos dependiendo de si alguien es profesor o alumno, usando la función has_capability()