Añadir campos personalizados en moodle

Acceso rápido:

Campos personalizados de Moodle

Este tipo de plugin le permite añadir tipos de campos personalizados del curso de los que se pueden añadir instancias a un curso. Por ejemplo, si quiere mostrar botones de radio en la página de edición del curso, entonces cree un plugin de campo personalizado de curso de radio, y luego cree una instancia del mismo.

Esta clase es para definir la configuración del campo personalizado cuando el usuario está creando el campo. La clase debe llamarse field_controller (para la autocarga) debe extender la clase \core_customfield\field_controller.

El controlador de datos es la clase que se ocupa de la UI en el formulario de edición del curso. Debe llamarse data_controller (para la autocarga) y debe extender la clase \core_customfield\data_controller. Debe anular los siguientes métodos:

Formulario api de Moodle

El componente/plugin que utiliza campos personalizados debe definir una clase manejadora para cada área y una página de configuración. La clase handler debe llamarse <PLUGINNAME>/customfield/<AREA>_handler y colocarse en la ubicación de autocarga (<PLUGINDIR>/classes/customfield/<AREA>_handler.php . Esta clase debe extender \core_customfield\handler . La página de configuración puede estar ubicada en cualquier lugar. Para la configuración de los campos personalizados del curso se utiliza la página de configuración del administrador /course/customfield.php. Si el área utiliza itemid esta página debe tomar itemid como parámetro.

Los campos personalizados se añaden a las instancias. Por ejemplo, los campos personalizados del curso se añaden a los cursos, por lo que courseid es el instanceid. En el ejemplo de mod_surveybuilder usamos $USER->id como instanceid (lo que significa que en este ejemplo un usuario puede rellenar la encuesta en un módulo sólo una vez). En cada caso de uso de campos personalizados debe haber un concepto claro de instancia. El Instanceid es necesario para guardar los datos, pero puede estar vacío cuando mostramos el formulario de edición de la instancia (por ejemplo, el curso aún no se ha creado).

Funciones de Moodle

data_controller[]array de objetos data_controller indexados por fieldid. Todos los campos están presentes, algunos objetos data_controller pueden tener ‘id’, otros no En el último caso las funciones data_controller::get_value() y export_value() devolverán valores por defecto.

data_controller[][]Array de 2 dimensiones, el primer índice es instanceid, el segundo índice es fieldid. Todos los instanceids y todos los fieldids están presentes, algunos objetos data_controller pueden tener ‘id’, otros no. En el último caso las funciones data_controller::get_value() y export_value() devolverán valores por defecto.

Tipos de plugins moodle

Es una realidad. No todos los administradores o profesores de Moodle tienen tiempo para revisar las notas de la versión de Moodle en detalle. Pero a veces, hay una gema oculta enterrada dentro que realmente deberíamos entender.

Puede que sepas que el perfil de usuario en Moodle puede ampliarse mediante campos de perfil personalizados. Un uso obvio podría ser registrar el género de un usuario, los créditos del curso, su ubicación en el campus, u otra información útil.

No todos los sitios de Moodle requieren el mismo tipo de datos, por lo que es útil proporcionar un sistema que permita a cualquier administrador de Moodle definir y ampliar el tipo de datos que desea asociar a sus cursos, e interactuar con estos datos desde la UI, los plugins y los sistemas externos.

Stuart está interesado en todo lo relacionado con el e-learning, con intereses específicos en Moodle, la estrategia de e-learning y el desarrollo de negocios.Su experiencia en educación de más de 30 años, MBA en Negocios Internacionales, y el conocimiento de la implementación de sistemas de e-learning, junto con el fondo de diseño gráfico, le dan un conjunto de habilidades únicas para los proyectos de e-learning.