Ayuda variables del formulario de un módulo...

Ayuda variables del formulario de un módulo...

de Javier Rodríguez -
Número de respuestas: 5
Hola moodlers!

No tengo las cosas claras con los formularios de los módulos y aquí estoy de nuevo, preguntado...

En el módulo que estoy desarrollando, necesito utilizar las variables que defino en el formulario mod.php, como por ejemplo: $form->description, $form->language, etc., utilizarlas en los ficheros lib.php o view.php.

He leído algo de utilizar required_param() o optional_param(), pero fijándome en el código de assignment me doy cuenta que solo lo hace para recuperar filas de las tablas.

La acción del formulario de mod.php de mi módulo es action="mod.php". Esto no debe cambiarse, ¿verdad?

Gracias y un saludo!!!!
Promedio de valoraciones: -
En respuesta a Javier Rodríguez

Re: Ayuda variables del formulario de un módulo...

de alberto Agrela -

Hola Javier:

para cojer los datos de un formulario, puedes usar la funcion optional_param, pero no te lo recomiendo, son digamos para recojer variables que vas a usar para controlar el curso de la página.

Si quieres cojer los datos de un formulario, usa la funcion data_submitted() de la siguiente forma:

$obj = data_submitted();

Esto lo que hace es que si una página recive datos de un formulario, los junta todos y te devuelve un objeto con todos los campos de ese formulario, si data_submitted no te devuelve nada es porque entonces no se ha enviado nada a esa página.

Espero haberte ayudado

Un saludo

Alberto

En respuesta a alberto Agrela

Re: Ayuda variables del formulario de un módulo...

de Javier Rodríguez -

Gracias por contestar Alberto.

Lo que no me queda claro todavía es que, la acción del formulario del fichero mod.html que viene con el paquete NEWMODULE.ZIP es "action=mod.php", es decir, el fichero /course/mod.php.

Ese fichero no lo puedo modificar, con lo que no puedo recoger los datos del formulario como me gustaría. Imagino que la acción del formulario se podrá cambiar, pero, ¿a qué archivo?

¿Alguna idea?

Gracias!!!

En respuesta a Javier Rodríguez

Re: Ayuda variables del formulario de un módulo...

de alberto Agrela -

Hola Javier:

Pues lo que pides, no va a ser posible ya que el mod.html es un simple formulario que es llamado desde el mod.php pero desde /course (fuera de tu modulo qu eno podras tocar). Esto se hace asi, para abstraerse un poco y que la inserción en la base de datos de todos los módulos sea igual.

Si lo que quieres es usar esas variables en otros sitios (librerias o donde sea) es que cojas el id tu módulo y hagas un get_record(). de esta forma te devolverá en un objeto todas las variables correspondientes a tu módulo que son las mismas que las del formulario.

En el view, creo qeu se obtiene el coursemodule de tu módulo, (el course module digamos que asocia en un curso los módulos que hayas creado), lo que puedes hacer para obtener todo eso es esto

$cm = get_coursemodule_from_id("nombre_de_tabla_de_tu_modulo",$idcm);

$course = get_record("course","id",$cm->id);

$tu_modulo = get_record("nombre_de_tabla_de_tu_modulo","id", $cm->instance);

En este momento en $tu_modulo tendrás todas las variables que tu quieres, es decir, las de tu formulario mod.php.

Espero que haberte aclarado algo mas, sino ya sabes, no dudes en preguntar.

Un saludo

Alberto

En respuesta a alberto Agrela

Re: Ayuda variables del formulario de un módulo...

de Javier Rodríguez -

Otra vez gracias Alberto,

gracias a tus indicaciones me he dado cuenta que en el archivo view.php que proporciona la plantilla NEWMODULE.ZIP aparece ya las instrucciones necesarias para trabajar con los datos del formulario.

Un saludo!