Modificar formulario SIGNUP Login de Inicio

Modificar formulario SIGNUP Login de Inicio

de Francisco Gonzalez -
Número de respuestas: 0

Bueno dias.

Tengo un problema que no se si por aqui me lo podeis solucinar:

Lo 1º: Tengo la version Moodle 3.1.2+.

Estoy intentando agregar nuevos campos al formulario de 'crear cuenta'. y me he fijado que se puede hacer a mano mirando https://docs.moodle.org/dev/Form_API , pero la cosa es que no te crea los campos en la BBDD, al contrario que introduciendolos mediante Administracion del sitio->usuarios->Campos de perfil de usuario, que SI te lo crea, pero con la diferencia de que todo lo guarda en  profile_signup_fields($mform). La cosa es que desde aqui te los muestra todos, y me meto en la funcion que lo pinta , que es la funcion que se encuentra en USER->PROFILE->LIB.PHP. La funcion es : function profile_signup_fields($mform).

El problema es que yo no quiero que me los muestre en esa catergoria(en la que los tienes que meter cuando creas los campos, que no te dejan tenerlos sin categoria). Campos que añado desde Administracion del sitio->usuarios->Campos de perfi los quiero poner, por ejemplo en En la primera categoria (creo que se llama datos de usuario), y otros en la segunda categoria (Datos de contacto). Estos campos creo que los cambié en las cadenas de texto, pero son los primeros que aparecen (Los campos que vienen por defecto, que son 2 ). Pues la cosa es que en estas categorias por defecto quiero meter los campos nuevos que estoy generando, pero como me lo pinta de una vez todos los campos, no consigo sacarlos uno a uno. Asi es como los pinta en el signup-form:

$mform->addElement('text', 'city', get_string('city'), 'maxlength="120" size="20"');
        $mform->setType('city', core_user::get_property_type('city'));
        if (!empty($CFG->defaultcity)) {
            $mform->setDefault('city', $CFG->defaultcity);
        }

        $country = get_string_manager()->get_list_of_countries();
        $default_country[''] = get_string('selectacountry');
        $country = array_merge($default_country, $country);
        $mform->addElement('select', 'country', get_string('country'), $country);

        if( !empty($CFG->country) ){
            $mform->setDefault('country', $CFG->country);
        }else{
            $mform->setDefault('country', '');
        }

        profile_signup_fields($mform);


Los campos de 'country' y de'city' son los que vienen por defecto, pero profile_signup_fields($mform) es la que me esta pintando los nuevos que he creado. Pues el problama es ese, ¿Como hago para recorrer esa consulta y sacarlos de profile_signup_fields($mform), en plan profile_signup_fields($mform)->telefono,profile_signup_fields($mform)->calle, etc.....?

Espero haberme explicado lo mejor posible ;)

Muchas gracias de antemano


Promedio de valoraciones: -