Desactivar "mostrar todos los temas"

Desactivar "mostrar todos los temas"

de Enrique Ortega -
Número de respuestas: 7
Hola a todos,

Quiero poner mi curso (formato temas) con un solo tema (sección) e impedir que los alumnos puedan volver a mostrar todos los temas (secciones) del curso.

Para ello se me ha ocurrido quitar el icono cuadrado donde se hace clic para mostar todos los temas o solo uno (ver foto adjunta).

¿Alguien puede orientarme como hacerlo? (no manejo nada de código).

Muchas gracias a todos.

Saludos,
Enrique

PD: En el foro de administradores me han comentado que existe un tema(skin) con una sola sección y un menú pero me gustaría hacerlo como os comento.

PD2: Hemos modificado en el perfil estudiante "moodle/course:sectionvisibility" a prohibido pero los estudiantes pueden seguir modificando que se vea un solo tema/sección.


Adjunto secciones.JPG
Promedio de valoraciones: -
En respuesta a Enrique Ortega

Re: Desactivar "mostrar todos los temas"

de Edwin Mudarra -

Saludos Enrrique, un diez ver si entendi, ha preparado un curso y deseas que los temas vayan apareciendo a medida que va avanzando los estudiantes. Si es ese el caso, te explico. si tienes el rol de profesor en el aula, dale clic al activar edición boto, y Cuando hagas esto aparecera un ojito, pues dale clic que tema al que no deses estudiante vea, se pondra de otro color, creo que gris. Ahora si deseas ver como lo vera el estudiante, cerca de activar este boton, puedes cambiar de rol. Bueno asi es que lo hago yo, si alguien tiene otra idea. Saludos Edwin

Nota: si es el caso que deseas que en tu aula aparesca un solo tema, te vas a configuraciones del aula, y ajustas con la cantidad de temas que desees.

En respuesta a Edwin Mudarra

Re: Desactivar "mostrar todos los temas"

de Enrique Ortega -
Hola Edwin,

Lo que quiero es que los temas (secciones) aparezcan en el aula solo de uno en uno. Pero quiero que todos estén disponibles. Por eso lo que quiero es eliminar el cuadrado del tema que permite conmutar entre visualizar un solo tema o ver todos.

Si fijo el numero de temas en 1 solo permite ver el tema numero 1.

Gracias por tu respuesta de todos modos Edwin.

Saludos,
Enrique
En respuesta a Enrique Ortega

Re: Desactivar "mostrar todos los temas"

de Fernando Navarro Páez -
Hola, Enrique.

Lo que te indica Edwin creo que es la solución que buscas. visibilidad.png

Te adjunto la imagen del icono que permite ocultar/visualizar una sección.

Puedes tener ocultas/visibles las secciones que quieras, pero las mismas para todos los alumnos. Para que aparezca el icono tienes que activar edición
En respuesta a Fernando Navarro Páez

Re: Desactivar "mostrar todos los temas"

de Enrique Ortega -
Hola Fernando,

Gracias por tu respuesta pero esa solución no me vale porque si oculto un tema los alumnos no pueden verlo.

Yo quiero que todos los temas estén disponibles pero que solo se muestre uno a la vez porque si se muestran todos y el alumno quiere consultar el ultimo tiene que hacer mucho scroll.

Para seleccionar el tema que quieran disponen del selector de temas (bloque oficial).

En definitiva, lo que quiero es que los alumnos no puedan activar "Mostrar todos lo temas". Lo he intentado desde las propiedades del rol pero no ha funcionado. Por tanto la solución que me queda es quitar el icono "mostrar todos los temas" pero no se donde esta el código.

Saludos,
Enrique
En respuesta a Enrique Ortega

Re: Desactivar "mostrar todos los temas"

de Enrique Ortega -
Se me ha debido aparecer la Virgen porque finalmente he encontrado como hacer lo que quería desde el código.

El archivo a modificar es \course\format\topics\format.php para el formato de temas (hay una carpeta por formato: scorm, weeks, etc)

Hay que comentar las líneas:



if ($displaysection == $section) { // Show the zoom boxes
echo '<a href="view.php?id='.$course->id.'&amp;topic=0#section-'.$section.'" title="'.

$strshowalltopics.'">'.
'<img src="'.$CFG->pixpath.'/i/all.gif" alt="'.$strshowalltopics.'" /></a><br />';
} else {
$strshowonlytopic = get_string('showonlytopic', '', $section);
echo '<a href="view.php?id='.$course->id.'&amp;topic='.$section.'" title="'.$strshowonlytopic.'">'.
'<img src="'.$CFG->pixpath.'/i/one.gif" alt="'.$strshowonlytopic.'" /></a><br />';
}



que son las encargadas de mostrar el icono cuadrado simple o doble para alternar la vista entre un tema o todos los temas.

Para poder alternar el tema ahora tengo instalado el bloque secciones pero finalmente pondré iconos en el tema 0 que enlacen a cada tema (aprovechando que el tema 0 siempre esta visible).

Lo dejo aquí por si a alguien que empieza como yo le pueda ser de utilidad para evitar el excesivo scroll.


Saludos,
Enrique
En respuesta a Enrique Ortega

Re: Desactivar "mostrar todos los temas"

de Juan Pablo Zapata -

¡Me ayudaste muchísimo Enrique, gracias!



Una duda: yo lo hice agregando /// en cada una de las líneas, por lo tanto mi código quedó así:


/// if ($displaysection == $section) { // Show the zoom boxes
/// echo '<a href="view.php?id='.$course->id.'&amp;topic=0#section-'.$section.'" title="'.$strshowalltopics.'">'.
/// '<img src="'.$CFG->pixpath.'/i/all.gif" alt="'.$strshowalltopics.'" /></a><br />';
/// } else {
/// $strshowonlytopic = get_string('showonlytopic', '', $section);
/// echo '<a href="view.php?id='.$course->id.'&amp;topic='.$section.'" title="'.$strshowonlytopic.'">'.
/// '<img src="'.$CFG->pixpath.'/i/one.gif" alt="'.$strshowonlytopic.'" /></a><br />';
/// }


¿Es necesario poner las /// en todas o solamente en algunas? En realidad a veces veo que para "comentar" las líneas usan 2 barras y otras veces 3.

Esto de no saber PHP...

Saludos.
En respuesta a Juan Pablo Zapata

Re: Desactivar "mostrar todos los temas"

de Miguel Angel Muras López -
Debería funcionarte esto:

/*
if ($displaysection == $section) { // Show the zoom boxes
echo '<a href="view.php?id='.$course->id.'&amp;topic=0#section-'.$section.'" title="'.

$strshowalltopics.'">'.
'<img src="'.$CFG->pixpath.'/i/all.gif" alt="'.$strshowalltopics.'" /></a><br />';
} else {
$strshowonlytopic = get_string('showonlytopic', '', $section);
echo '<a href="view.php?id='.$course->id.'&amp;topic='.$section.'" title="'.$strshowonlytopic.'">'.
'<img src="'.$CFG->pixpath.'/i/one.gif" alt="'.$strshowonlytopic.'" /></a><br />';
}
/*

Otra opción es añadirle un identificador al objeto:


if ($displaysection == $section) { // Show the zoom boxes
echo '<a href="view.php?id='.$course->id.'&amp;topic=0#section-'.$section.'" title="'.$strshowalltopics.'" id="mostrar_todo">'.
'<img src="'.$CFG->pixpath.'/i/all.gif" alt="'.$strshowalltopics.'" /></a><br />';
} else {
$strshowonlytopic = get_string('showonlytopic', '', $section);
echo '<a href="view.php?id='.$course->id.'&amp;topic='.$section.'" title="'.$strshowonlytopic.'">'.
'<img src="'.$CFG->pixpath.'/i/one.gif" alt="'.$strshowonlytopic.'" /></a><br />';
}

y luego, hacer un hack en los css del tema. De esta manera, incluso podrías hacer un hack para cada curso o cada categoría y no tenerlo en código:

#mostrar_todo{
display:none;
}