Formulario moodle

Acceso rápido:

Moodle javascript

Para añadir un botón de acción, el primer parámetro es si se añade o no un botón de cancelación, y el segundo parámetro es cuál es la información de texto del botón de envío se puede obtener con la función es get_string('savechanges') . El valor por defecto más barato es el siguiente:

Por defecto, cualquier formulario de Moodle mostrará una caja de advertencia de "¿Está seguro de enviar?" . Si quiere hacer algunos cambios y luego intenta salir de esta página sin guardar .    Ocasionalmente , este es el caso que usted no quiere ver. transferencia

Debido a la limitación de tiempo y energía, no hemos encontrado el método de uso de cada función y elemento de forma en detalle. Sin embargo, el método de uso relacionado se puede encontrar en el documento oficial de descripción correspondiente haciendo clic en el texto correspondiente.

Acción del formulario de Moodle

Envoltura específica de Moodle que separa la sintaxis de quickforms del código de moodle. No usarás directamente esta clase, debes escribir una definición de clase que extienda esta clase o una subclase más específica como moodleform_mod para cada formulario que quieras mostrar y/o procesar con formslib.

Pase un parámetro de false si no quiere un botón de cancelación en su formulario. Si tienes un botón de cancelación asegúrate de comprobar que se pulsa usando is_cancelled() y redirigiendo si es verdadero antes de intentar obtener datos con get_data().

Esto es útil para que las clases intermedias inyecten la lógica después de que la definición haya sido proporcionada sin requerir que los desarrolladores llamen al padre self::definition() ya que no es obvio por diseño. La clase 'intermedia' es 'MyClass extends IntermediateClass extends moodleform'.

Las clases que sobrescriben este método siempre deben llamar al padre. Puede que no añadamos nada específicamente en esta instancia del método, pero es probable que las clases intermedias lo hagan, por lo que es una buena práctica llamar siempre al padre.

Formulario ajax de Moodle

return self::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Nonexistant element(s): '" . implode("', '", array_keys($elementList)) . "' in HTML_QuickForm::freeze()", 'HTML_QuickForm_Error', true);

'default' => "\n\t\t".'<div id="{id}" class="fitem {advanced}<!-- BEGIN required --> required<!-- END required --> fitem_{typeclass} {emptylabel} {class}" {aria-live} {groupname}><div class="fitemtitle"><label>{label}<!-- BEGIN required -->{req}<!-- END required -->{advancedimg} </label>{help}</div><div class="felement {typeclass}<!-- BEGIN error --> error<!-- END error -->" data-fieldtype="{type}"><!-- BEGIN error --><span class="error" tabindex="0">{error}</span><br /><!-- END error -->{element}</div></div>',

'fieldset' => "\n\t\t".'<div id="{id}" class="fitem {advanced} {class}<!-- BEGIN required --> required<! -- END required --> fitem_{typeclass} {emptylabel}" {groupname}><div class="fitemtitle"><div class="fgrouplabel"><label>{label}<!-- BEGIN required -->{req}<!-- END required -->{advancedimg} </label>{help}</div></div><fieldset class="felement {typeclass}<!-- BEGIN error --> error<!-- END error -->" data-fieldtype="{type}"><!-- BEGIN error --><span class="error" tabindex="0">{error}</span><br /><!-- END error -->{element}</fieldset></div>',

Filemanager moodle

Una de las propiedades de la clase extendida es $this->_form. Se trata de una clase MoodleQuickForm que extiende una clase de la biblioteca QuickForm. La asignaremos a la variable $mform ya que la usaremos mucho.

Uno de los métodos interesantes de $mform es disabledIf(). Puede desactivar/activar un elemento basándose en alguna condición. El primer parámetro es (de nuevo) un id del elemento que queremos habilitar/deshabilitar. El segundo es el elemento del que dependemos, luego la condición y finalmente un valor con el que comparar. Así que la línea:

A continuación, implementar la lógica de validación. Si hay algún error, devuélvelo en un array - una clave/valor para un error. La clave debe coincidir con uno de los nombres de los elementos del formulario - Moodle mostrará un error junto al elemento del formulario. El método validation() debe devolver un array vacío si no hay errores.

El formulario se envía por defecto al mismo script PHP donde se mostró. Si la URL de nuestro módulo es mod/php/view.php?id=3 entonces después de enviar el formulario, se enviará una petición POST a mod/php/view.php. El parámetro id se perderá, por lo que definimos id como un entero oculto en el formulario y luego lo establecemos con $mform->set_data(array('id'⇒$id));.

Subir