Conservar querystring en form Moodle

Conservar querystring en form Moodle

de I. S. -
Número de respuestas: 1

Buenas.

He hecho un formulario customizado en Moodle 2.6 al que le llega un parámetro por get, algo asi como

mimoodle.org/formularionuevo?parametro=hola

Y el caso es que cuando hace cualquier validación o al enviar estoy perdiendo el querystring.

¿Como habría que hacer para que en todo momento se conservara la URL tal cual? He probado un montón de cosas y ninguna me ha funcionado...

Gracias de antemano.

Promedio de valoraciones: -
En respuesta a I. S.

Re: Conservar querystring en form Moodle

de I. S. -

Al final di con ello, lo pongo aqui por si a alguien le sirve de ayuda.

Lo que yo quería es que al pasar una url del tipo mimoodle.com/pagina.php?curso=MiCurso ese "MiCurso" saliera en un campo del formulario directamente añadido y que tras cualquier validación no se perdiese. Además el parámetro no es obligatorio, puede venir o no.

Donde se hace la llamada al nuevo formulario 

$curso = optional_param('curso', '', PARAM_RAW); $params = array();
if (!empty($curso))
{
$params = array('curso' => $curso);
} $PAGE->set_url('/mipagina.php', $params);
$PAGE->set_context(context_system::instance()); $mform = new custom_form(null, array('curso' => $curso));

Y en la creación del formulario:

if ($this->_customdata['curso'] != null && $this->_customdata['curso'] != '')
 {
$mform->addElement('text', 'curso_solicitado', get_string('form_curso_solicitado'), 'maxlength="200" size="75"');
$mform->setType('curso_solicitado', PARAM_NOTAGS);
$mform->addRule('curso_solicitado', get_string('form_curso_solicitado_mandatory'), 'required', null, 'server');
$mform->setDefault('curso_solicitado', $this->_customdata['curso']);
}

Y con esto, aunque el querystring de arriba se pierda, el dato viaja bien sonrisa

Saludos.