Shortcodes Moodle plugin, ¿cómo ampliar sus utilidades?

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.

Espero les sirva

¿Te resultó útil este artículo?

Artículos relacionados

¿Tienes algún comentario?