Conocer la instancia de un módulo en modform

Conocer la instancia de un módulo en modform

de Victor Martin -
Número de respuestas: 2

Hola, me gustaría saber como conocer la instancia de un módulo en el formulario (modform) ya que me gustaría que apareciera una opción sólo si ya estaba creada una instancia, es decir entras para cambiar la configuracion del recurso. Es debido a que para poder usar esta opcion tengo que tener de antemano el id de la instancia, y no se como comprobar eso en el modform para poder poner un disabledIf(instancia = null) por ejemplo.

 

Alguna idea? Gracias.

Promedio de valoraciones: -
En respuesta a Victor Martin

Re: Conocer la instancia de un módulo en modform

de Xavier Paz -

En la tabla course_modules tienes las instancias de cada módulo en cada curso, donde el campo instance se corresponde con el id esa instancia según el módulo (campo module). 

En respuesta a Xavier Paz

Re: Conocer la instancia de un módulo en modform

de Victor Martin -

Si pero me refiero a cuando le das a crear un recurso, cuando estas rellenando los parámetros por primera vez, que aun no se ha grabado nada en la base de datos. Se me ocurre que para saber si estamos entrando en un recurso que ya se creó con anterioridad podria fijarme en si name y intro estan rellenos (son obligatorios para crear un recurso).

Como podría comprobar si estan rellenos o no:

$mform->addElement('header', 'general', get_string('general', 'form'));
/// Adding the standard "name" field
$mform->addElement('text', 'name', get_string('khronosname', 'khronos'), array('size'=>'64'));
$mform->setType('name', PARAM_TEXT);
$mform->addRule('name', null, 'required', null, 'client');
$mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');

/// Adding the required "intro" field to hold the description of the instance
$mform->addElement('htmleditor', 'description', get_string('khronosintro', 'khronos'));
$mform->setType('description', PARAM_RAW);
$mform->addRule('description', get_string('required'), 'required', null, 'client');
$mform->setHelpButton('description', array('writing', 'richtext'), false, 'editorhelpbutton');

He intentado esto para dejar un mensaje pero no estará bien porque no carga. Justo antes tengo un elemento texto que es el que quiero cambiar con un mensaje dentro:

//TAGS Labels
$mform->addElement('header', 'tag', get_string('tag','tag'));
$newElement = 'labels';
$mform->addElement('text', $newElement, get_string($newElement.'modform', 'khronos'), array('size'=>'64'));
$mform->setType($newElement, PARAM_RAW);
$mform->addRule($newElement, get_string('maximumchars', '', 64), 'maxlength', 64, 'client');
$mform->disabledIf($newElement, 'name', 'eq', null);

if('name' == null)

   $mform->setDefault($newElement, get_string('notags', 'khronos'));