Moodle: Shortcodes, ¿cómo ampliar sus utilidades?
28 mayo, 2024

Por: Editor PGBServices

Moodle, conocimientos de Pierre García Barre

Este es un plugin muy necesario para manejar, mediante Shortcodes, la obtención de datos de las bases de datos de un aula Moodle.

Originalmente viene con dos Shortcodes, «primer nombre» y «nombre completo».

En el caso de UAV necesitábamos usarlo para insertar el nombre de la clase o aula en cualquier módulo o herramienta, html. etiqueta, lección, etc.

Para ello hay que modificar los archivos: shortcodes.php ubicados en la carpeta classes y db (son dos archivos).

Aquí la modificación para agregar la data de título de la clase y el email del usuario (en rojo lo agregado):

Carpeta Classes archivo shortcodes.php

public static function handle($shortcode, $args, $content, $env, $next) {

        global $USER;      

global $COURSE; 

      if ($shortcode === ‘off’) {           

return $content;       

} else if ($shortcode === ‘firstname’) {

            return $USER->firstname;       

} else if ($shortcode === ‘namecourse’) {

            return $COURSE->fullname;       

} else if ($shortcode === ‘fullname’) {           

return fullname($USER);       

} else if ($shortcode === ‘usermail’) {           

return $USER->email;       

      

return $next($content);   

}

Carpeta DB archivo shortcodes.php

$shortcodes = [
‘firstname’ => [
‘callback’ => ‘filter_shortcodes\shortcodes::handle’,
‘description’ => ‘shortcode:firstname’
],
‘fullname’ => [
‘callback’ => ‘filter_shortcodes\shortcodes::handle’,
‘description’ => ‘shortcode:fullname’
],
‘usermail’ => [
‘callback’ => ‘filter_shortcodes\shortcodes::handle’,
‘description’ => ‘shortcode:usermail’
],

‘namecourse’ => [
‘callback’ => ‘filter_shortcodes\shortcodes::handle’,
‘description’ => ‘shortcode:namecourse’
],

‘off’ => [
‘wraps’ => true,
‘callback’ => ‘filter_shortcodes\shortcodes::handle’,
‘description’ => ‘shortcode:off’
],

];

Modificar la versión

Otro asunto importante, si ya habías instalado el plugin y posteriormente haces esta modificación, Moodle no tomará los cambios hasta que se reinstale una nueva versión del plugin, para ello debes cambiar la versión en el archivo version.php línea 28, que quedaría así:

Original

$plugin->version   = 2021100400;

Modificada

$plugin->version   = 2021100403;

Nosotros cambiamos cero por tres pero puedes poner lo que quieras.

Cuando refresques la aplicación te pedirá actualizar, procedes y listo, ya puedes usar los shorcodes de Moodle.

 

En nuestro caso se usan así:

[usermail]

[fullname]

[firstname]

[namecourse]

Puedes usar el formateo que quieras, ejemplo: <h1> [namecourse] </h1>

Nota:

Si quieres capturar por ejemplo el ID, la ruta es $COURSE->id;  

Se podría capturar el título con hipervínculo construyendo la variable de esta forma:

return ‘<a href=»https://eldominio.com/course/view.php?id=’ . $COURSE->id . ‘»>’ . $COURSE->fullname . ‘</a>’;  

donde «eldominio.com» es la url de tu campus.

Te recomiendo visitar la documentación en moodle.org, para ampliar el conocimiento.

 

Pierre García Barre

Comentarios

Hosting mejor precio valor para tu Web

Reserva de dominio

VPS

Correos

Asistencia

Instalación de CMS incluido

Un mes gratis para probar, sin compromiso, sin ingresar tarjetas de crédito

Ver más: https://espro.es