Moodle_url

Acceso rápido:

Bigote Moodle

Es útil para manipular urls con largas listas de params. Una situación en la que será útil es una página que se enlaza a sí misma para realizar varias acciones y/o procesar datos de formularios. Un objeto moodle_url : puede ser creado para que una página se refiera a sí misma con todos los parámetros get apropiados que son pasados de llamada a llamada de página y los métodos pueden ser usados para mostrar una url incluyendo todos los parámetros, opcionalmente añadiendo y sobreescribiendo parámetros y también puede ser usado para

moodle_url | string$url- moodle_url significa hacer una copia de otra moodle_url y cambiar los parámetros, string significa url completa o forma abreviada (ej.: ‘/curso/view.php’). Se recomienda encarecidamente no incluir la cadena de consulta, ya que puede dar lugar a valores de doble codificación. Utilice $params en su lugar. Para URLs de administración, simplemente use /admin/script.php, esta clase se encarga del tema $CFG->admin.

Por defecto la ruta incluye slash-arguments (por ejemplo, ‘/miarchivo.php/extra/arguments’) por lo que es lo que se esperaría de una ruta URL. Si no desea este comportamiento, puede optar por excluir los argumentos de barra. (Cuidado: si la variable $CFG slasharguments está desactivada, estas URLs tendrán un formato diferente y puede que tengas que mirar también el parámetro ‘file’).

Moodle get_string

Explicando esta demo paso a paso tenemos en primer lugar la configuración estándar y los includes, además del admin_externalpage_setup(‘tooldemo’) que llama a require_login y realiza comprobaciones de permisos para las páginas admin.

Esta es la parte más interesante de nuestra página. Estamos creando un renderizable y diciéndole a nuestro renderizador que lo renderice. El renderizable suele ser más complejo que esto, debe contener todos los datos necesarios para que el renderizador muestre la página. Esto significa que debemos realizar toda nuestra lógica, como consultas a la base de datos, parámetros de página y comprobaciones de acceso por adelantado y los resultados deben ser pasados como datos al renderizable. El renderizable toma esos datos y devuelve una representación HTML de los mismos.

En el código anterior, hemos creado un renderizable. Esta es una clase que debes agregar a tu plugin. Contiene todos los datos necesarios para mostrar algo en la página. Aquí está el renderizable para este ejemplo:

Esta clase implementa la interfaz renderable, que no tiene métodos, y la interfaz templatable, que significa que esta clase podría ser renderizada con una plantilla, por lo que debe implementar el método «export_for_template». En este ejemplo, la clase acepta datos a través de su constructor y los almacena en variables de clase. No hace nada más con los datos en este ejemplo (pero podría). Tenga en cuenta que la función export_for_template sólo debe devolver tipos simples (arrays, stdClass, bool, int, float, string).

Moodle get_renderer

O puede que esté reposicionando su sitio en un mercado más comunitario o internacional, y quiera pasar de https://www.mymoodlesite.co.uk a https://www.mymoodlesite.org, o https://www.mymoodlesite.info.

Cualquier administrador web sabrá que lo primero que hay que hacer es cambiar la configuración del servidor web – por lo que un escenario típico es editar los archivos conf del servidor web Apache para hacer referencia a la nueva dirección. Esto puede ser suficiente para muchos sitios web, ¡pero no para Moodle!

Moodle, algo inusual, utiliza referencias absolutas en su base de datos. Eso significa que si cambia el nombre del sitio Moodle, los enlaces internos en Moodle se romperán. El sitio seguirá funcionando, pero aparecerán muchos errores, como imágenes que no se cargan y mensajes de error al hacer clic en las actividades.

He utilizado este script quizás una docena de veces a lo largo de los años. Siempre ha funcionado bien, excepto una vez, pero ese servidor Moodle de archivo ya tenía muchos problemas (¡corriendo en Windows y Microsoft SQL siendo dos de ellos! lol).

Stuart está interesado en todas las cosas relacionadas 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 diseño gráfico de fondo, le dan un conjunto de habilidades únicas para proyectos de e-learning.