restaurar bloque administrador theme adaptable moodle 3.7

Re: restaurar bloque administrador theme adaptable moodle 3.7

de Javier Corbacho -
Número de respuestas: 1

Hola 

Estoy empezando con MOODLE, utilizo la versión 3.8 y con el Theme Adaptable me encontré exactamente con el mismo problema. 

Aunque el problema es el mismo la solución que aquí se aporta no me valió o no entendí como aplicarla. Tampoco encontré solución en otros foros que funcionase o fuese capaz de entender. Explico cómo lo arreglé, aunque sea un poco "drástico".

Lo primero, por desesperación, acabé desinstalando y reinstalando el Theme Adaptable. Para desinstalar utilicé la opción disponible en Administración del Sitio> Extensiones >Vista general de extensiones, presuponiendo que así se borran los ficheros y las tablas relacionados con el Theme. Al reinstalar comprobé que el problema no se resolvía. Esto me puso en la pista de que la causa pudiera estar en datos que, pese a borrar el Theme, hubieran quedado en alguna tabla de la base de datos (lo que se conoce como registros huérfanos). Por tanto eché mano de phpMyAdmin.

Obviamente si no tenemos acceso a phpMyAdmin, ni a la base de datos del Moodle que estamos usando la solución que aporto no vale. Y si tenemos acceso pero no sabemos como tocar en la base de datos, mejor apoyarse en alguien que sepa y hacer copias de seguridad.

Con el Theme instalado:

En la base de datos hay una tabla que se llama [Prf]_block_instances (donde [Prf]= Prefijo de la tabla que dependerá de cada caso)  que presupongo guarda la configuración de los bloques. Dentro de esta tabla podemos buscar los bloques que nos interesan en el campo [blockname] si bien en mi caso opté por buscarlos atendiendo al valor del campo [requiredbytheme]="1". Pongo una captura de mi tabla

Captura de la tabla block_instances

Los valores "navigation" y "settings" del campo [blockname] identifican respectivamente el bloque de Navegación y Administración que han "desaparecido". En realidad no desaparecieron. Entiendo que lo que sucede es que desde la interfaz del Moodle hemos cambiado el valor del campo [pagetypepattern]En mi caso:

Para resolverlo en el registro [blockname]= "settings" cambié el valor del campo [pagetypepattern] por un "*". Pongo una captura 

Captura tabla block_instances después de cambiar los datos

Y listo!. Ya tengo acceso al bloque desde cualquier sitio de mi MOODLE. ¡Habrá que ajustar permisos u otras opciones para controlar el acceso desde los diferentes roles de usuario! 

Como alternativa probé con otros valores. En particular: con el valor "admin-*" no me da acceso al bloque desde el área personal (https://www.misitio.com/my/index.php) pero si desde configuracion (https://www.misitio.com/admin); y con el valor "my-index" sucede justo lo contrario.

Finalmente en una instalación limpia (sin configurar) comprobé que guarda el valor * para ambos registros.

Con todo, para mi el problema está resuelto, aunque con reservas por haberlo hecho directamente en la tabla.

Espero haber ayudado. Y por supuesto si alguien conoce una solución desde la interfaz de MOODLE me gustaría saber como se hace para no estar tocando en las tablas.

Gracias