Implementar condición para mostrar o no un bloque.

Implementar condición para mostrar o no un bloque.

by Miguel Rodríguez -
Number of replies: 3

Buenos dias a todos. He creado un fichero php con unas cuantas consultas y una condición, con lo que quiero conseguir que segun la persona conectada, esta pueda ver o no un bloque, concretamente el de servidores de red. Mi problema es que no tengo nada claro en que archivo deveria implementar esto, los Moodle que esto manejando son el 2.4 que es en el que pretendo que me muestre el bloque o no, y un Moodle 1.9 que es al que nos lleva el servidor de red. Cualquier minima ayuda es agradecida.

Average of ratings: -
In reply to Miguel Rodríguez

Re: Implementar condición para mostrar o no un bloque.

by Iñaki Arenaza -
Picture of Desarrolladores Picture of Desarrolladores de plugins Picture of Documentadores Picture of Moderadores Picture of Moodlers de gran ayuda
Hola Miguel,

El código que maneja los bloques está en el subdirectorio blocks/. Hay un subdirectorio por cada tipo de bloque. En concreto el bloque de servidores de red está en el subdirectorio blocks/mnet_hosts.

El fichero principal de cada bloque se llama block_nombre-del-bloque-en-cuestion.php En este caso es block_mnet_hosts.php. Si lo editas verás el código que se usa para decidir si se muestra o no, y en caso de que se muestre, que contenido se muestra.

Jugando con las funciones definidas ahí deberías ser capaz de conseguir lo que deseas. Para más detalles, echa una ojeada a la página http://docs.moodle.org/dev/Blocks y si quieres aún más, a esta otra http://docs.moodle.org/dev/Blocks_Advanced smile

Saludos.
Iñaki.
Average of ratings: Útil (1)
In reply to Iñaki Arenaza

Re: Implementar condición para mostrar o no un bloque.

by Miguel Rodríguez -

Ok muchas gracias, pero soy muy novato en esto y necesito mas ayuda, lo que tengo realizado es una condicion en la cual si el alumno que se logea no tiene cursos en el otro moodle que enlaza el bloque de servidores de red este bloque no le sea mostrado. A lo maximo a lo que e llegado a sido a realizar un archivo php que si lo ejecuto me devuelve por pantalla si este alumno tiene cursos o no. Le adjunto el archivo que hace las consultas y devuleve si tiene o no cursos. Necesito implementar esto en el archivo block_mnet_hosts.php en la funcion get_content pero no tengo ni idea de como hacerlo. Le agradezco toda la ayuda que me esta ofreciendo, puesto que estoy de becario y llevo peleandome tiempo con esto.

Saludos.

In reply to Miguel Rodríguez

Re: Implementar condición para mostrar o no un bloque.

by Iñaki Arenaza -
Picture of Desarrolladores Picture of Desarrolladores de plugins Picture of Documentadores Picture of Moderadores Picture of Moodlers de gran ayuda

Hola Miguel,

¿les has echado una ojeada a las páginas a las que enlazaba en mi mensaje anterior? Ahí cuenta como funcionan los bloques y deberían ayudarte a saber dónde colocar tu código y como decirle a Moodle si quieres que se muestre el bloque o no.

Como resumen super-básico: si retornas de la función que te indicaba en mi anterior mensaje con un valor de cadena vacía, el bloque no se muestra. Con esa indicación deberías poder conseguir lo que quieres con poco esfuerzo.

Saludos. Iñaki.