Saltar al contenido principal

theme_cdigital

Ficha técnica

Componente: theme_cdigital (tema, hijo de Boost) · Ruta: public/theme/cdigital/ Versión: 2026080501 (release 0.1.0, madurez ALPHA) · Requiere: Moodle ≥ 4.5 ⚠ (ver Manifiesto) Impacto: Tema · Plugin asociado: local_pccntr8203403_dashboard

Tema que reimplementa la apariencia del Campus Virtual siguiendo el diseño de Figma y renderiza el Dashboard de aprendizaje. Extiende Boost: hereda su comportamiento y sobreescribe layouts, plantillas, renderers, SCSS y strings.

Estructura

Carpeta / archivoContenido
config.phpRegistro del tema, layouts, sistema de íconos
lib.phpRenderers (theme_cdigital_core_course_renderer, core_renderer) y helpers de frontpage
settings.phpAjustes de administración — ver Ajustes del tema
layout/frontpage.php, mycourses.php, mydashboard.php (+ drawers de Boost)
templates/Plantillas Mustache (core overrides + componentes propios)
classes/output/core_renderer.phpInyecta el banner, arma la modal "Ver mi avance" (7 cards) e inyecta el Drawer IA
scss/preset/cdigital.scssPunto de entrada SCSS (incluye Boost)
amd/src/Módulos JS (ver abajo)
pix/Imágenes e íconos (branding, íconos de la modal, ilustraciones)
lang/{en,es}/Cadenas de idioma

Features que renderiza

Cada una tiene su ficha en el Catálogo:

FeaturePlantilla / punto de render
Fila "Contenido del curso" + insigniascourse_content_header.mustache + full_header()
Banner "Tu desempeno academico"course_info_banner.mustache + full_header()
Modal "Ver mi avance"course_progress_modal.mustache + core_renderer
Stats Row del Area personalstats_row.mustache + mydashboard.php
Welcome Herowelcome_hero.mustache
Card "Continua donde quedaste"continue_card.mustache
Card de cursocore_course/coursecard.mustache + AMD
Sección "Mis Cursos" del Área personalmiscursos_section.mustache + mydashboard.php + AMD miscursos_tabs.js
Drawer IAaitutor_drawer.mustache + standard_after_main_region_html() + AMD aitutor.js
Bloque "Cursos que necesitan atención"Solo SCSS: .cdigital-atencion* y override del chrome de bloque en .cdigital-activitypanel (el markup lo aporta block_pccntr8203403_atencion)
Portada (frontpage)frontpage.mustache + helpers de lib.php
Carrusel de banners de la portadafrontpage.mustache + theme_cdigital_get_banner_slides() + AMD banner_carousel.js

Módulos AMD

MóduloFunción
aitutor.jsDrawer IA: toggle open/close, envio de mensajes al proxy local_pccntr8203403_aitutor, render de respuestas, lectura de SCORM CMI
banner_carousel.jsCarrusel de banners de la portada: rotación automática, flechas, puntos, pausa/reanudación y prefers-reduced-motion
coursecard_favourite.jsToggle de favorito en la card de curso (WS core core_course_set_favourite_courses)
coursecard_teachers.jsCarga batcheada de nombres de docentes (WS ..._get_course_teachers)
miscursos_tabs.jsFiltro client-side por pestaña (Todos/En Curso/Completados) de la sección Mis Cursos
repository.jsWrappers de core/ajax para los WS anteriores

Build: ver Build de assets.

Dependencias

  • Consume las clases de datos del plugin local (course_stats, student_stats, academic_alerts) desde su renderer y layouts, y su Web Service get_course_teachers.
  • Renderiza el Drawer IA e invoca la funcion send_message de local_pccntr8203403_aitutor via el modulo AMD aitutor.js.
  • Para secciones con equivalente nativo (Calendario, Usuarios en linea, Insignias) usa bloques core estilizados con CSS del tema (ADR-002).

Riesgos de actualización

  • El tema sobreescribe plantillas core (core_course/coursecard, core/header, etc.). Una actualización mayor de Moodle puede cambiar esas plantillas o el contexto que reciben; revisar los overrides tras cada upgrade de branch.
  • La card de curso depende del flujo client-side de block_myoverview (WS core + Templates.render); cambios en ese flujo afectan el override. Detalle en Card de curso.
  • requires declarado en version.php apunta a Moodle 4.5 (placeholder); alinear a 5.0/5.1.