Foros del Web » Programando para Internet » PHP »

Problemas para crear un bloque en Moodle

Estas en el tema de Problemas para crear un bloque en Moodle en el foro de PHP en Foros del Web. Hola, Estoy tratando de crear un nuevo bloque a mi Moodle. Ya tengo creado una carpeta llamada mensajeria y la he subido a la carpeta ...
  #1 (permalink)  
Antiguo 24/07/2007, 04:00
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 19 años, 3 meses
Puntos: 0
Problemas para crear un bloque en Moodle

Hola,

Estoy tratando de crear un nuevo bloque a mi Moodle.

Ya tengo creado una carpeta llamada mensajeria y la he subido a la carpeta blocks.

También en la base de datos en la tabla mdl_blocks he creado este bloque y lo he puesto visible=1

Luego trato de entrar como administrador y cuando pulso añadir nuevo bloque no me aparece en el listado de bloques, éste nuevo que he creado.

¿Porqué?¿Me falta por hacer algo más?


He ido a configuración-bloques y me sale el siguiente error:


Bloques imcompatibles
mensajeria

¿Por que me sale este error?

¿No se puede copiar el bloque mensajería de mi versión de Moodle 1.4 y pegarlo en la carpeta blocks del Moodle 1.65? ¿O este error se refiere a otra cosa?

He seguido investigando y he cogido el archivo blocklib de la carpeta moodle/lib de mi Moodle antiguo y lo he sustituido en mi nueva versión de Moodle. A continuación he ido a bloques y ahora si me salen los bloques nuevos que he guardado en la carpeta blocks.

El problema ahora es que no me detecta los bloques propios de Moodle y cuando trato de ir al index.php del Moodle me sale el siguiente error

Fatal error: Call to undefined function page_create_object() in C:\Archivos de programa\Apache Group\Apache2\htdocs\moodle\index.php on line 49


Supongo que no puedo estar sustituyendo archivos de versiones anteriores, de ahi este error.

Pero,

¿Porqué con el archivo blocklib antiguo me detecta mis bloques y con el nuevo no?¿Debo añadir algo al archivo blocklib del nuevo moodle?

Gracias de nuevo
  #2 (permalink)  
Antiguo 24/07/2007, 11:43
Avatar de juagarc4  
Fecha de Ingreso: octubre-2003
Ubicación: En casa
Mensajes: 127
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Problemas para crear un bloque en Moodle

Hola canarion696969,

Antes de empezar a hacer estas cosas, ¿has pensado a actualizarte a la versión 1.7 o 1.8. Han cambiadao bastantes cosas, entre ellas, la mensajería, que fue incluida en la versión 1.7 (creo recordar).Te evitarías muchos dolores de cabeza.

Por otro lado:
Lo más fácil para crear un bloque en la versión de Moodle que indicas (1.65) es coger uno de los que ya hay creados y modificarlo a tu gusto ya que las librerias que usan los bloques cambiaron bastante de la versión 1.4 a la 1.6. Sobretodo la moodlelib.php, la blocklib.php y algunas otras de manejo de funciones, por eso te sale el error que comentas más abajo.


Cita:
Luego trato de entrar como administrador y cuando pulso añadir nuevo bloque no me aparece en el listado de bloques, éste nuevo que he creado.

¿Porqué?¿Me falta por hacer algo más?

He ido a configuración-bloques y me sale el siguiente error:

Bloques imcompatibles
mensajeria

¿Por que me sale este error?

¿No se puede copiar el bloque mensajería de mi versión de Moodle 1.4 y pegarlo en la carpeta blocks del Moodle 1.65? ¿O este error se refiere a otra cosa?
No puedes hacer eso poque moodle detecta que la versión de mensajeria de la 1.4 es demasiado antigua y seguramente se ha eliminado en la versión 1.6, por eso es incompatible.

Cita:
He seguido investigando y he cogido el archivo blocklib de la carpeta moodle/lib de mi Moodle antiguo y lo he sustituido en mi nueva versión de Moodle. A continuación he ido a bloques y ahora si me salen los bloques nuevos que he guardado en la carpeta blocks.

El problema ahora es que no me detecta los bloques propios de Moodle y cuando trato de ir al index.php del Moodle me sale el siguiente error

Fatal error: Call to undefined function page_create_object() in C:\Archivos de programa\Apache Group\Apache2\htdocs\moodle\index.php on line 49
Por lo que te he comentado más arriba. Los ficheros de librerias(moodlelib.php, datalib.php, blocklib.php, etc..) han cambiado de la versión 1.4 a la 1.6 y probablemente la función que da el error ya no existe en la versión 1.6.

Pero,

Cita:
¿Porqué con el archivo blocklib antiguo me detecta mis bloques y con el nuevo no?¿Debo añadir algo al archivo blocklib del nuevo moodle?
Sencillamente porque el archivo blocklib antiguo detecta las versiones antiguas de los bloques mientras que an la nueva versión la foma de detección ha cambiado.
Ahora mismo no utilizo la versión 1.6, pero creo recordar que había una plantilla en el sitio de moodle que te permitía crear nuevos bloque de forma sencilla, auqnue a estas alturas y con la versió 1.9 de Moodle a la vuelta de la esquina será difícil de encontrar ya que la nueva forma de desarrollar bloques es muy diferente de la anterior.

Como consejo: lo mejor es coger uno de los bloque que ya hay creados (el que más se asemeje a lo que quieres crear) y modificarlo para que haga lo que quieres tu.

Siento no poder ayudarte más.
Hasta pronto.
Salu2
__________________
El que pregunta lo que no sabe, es ignorante durante 5 minutos, el que no lo pregunta lo es de por vida (Proverbio Chino)
La tonteria se pone siempre en primera fila, para ser vista. La inteligencia se pones siempre detrás para poder ver. (Alguien lo dijo, seguro)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:16.