Fila héroe del curso
- Impacto — Tema:
templates/course_hero_row.mustache,core_renderer::full_header()ycore_renderer::course_hero_row_context(), SCSS.cdigital-coursehero* - Impacto — Plugin:
course_stats::get_user_progress()(reutilizado) - Figma:
19723-2736· Estado: Implementado
Propósito
Primera franja de la vista de curso, encima del banner "Tu desempeño académico". Da al estudiante, de un vistazo, el contexto del curso y su avance en él antes de entrar al contenido.
Se compone de dos piezas:
| Pieza | Contenido |
|---|---|
| Card del curso | Imagen de portada, nombre del curso, línea "Profesor:" y barra de progreso con su porcentaje |
| Módulo "Tu avance general" | Anillo de progreso en SVG, contador "X de Y" y botón que abre la modal "Ver mi avance" |
Cuándo se muestra
Se inyecta desde core_renderer::full_header() bajo tres condiciones simultáneas: la página es de
curso, hay un usuario autenticado que no es invitado, y el ajuste enablecoursebanner está
activo.
enablecoursebanner gobierna a la vez esta fila héroe, el banner y la modal. Apagarlo devuelve la
vista de curso al encabezado nativo de Boost. Ver Ajustes del tema.
En la vista de una sola sección (formatos que muestran una sección por página) esta fila se
sustituye por la tarjeta héroe de sección, documentada en
Marco de secciones del curso. Son rutas alternativas del mismo
full_header(), nunca se muestran las dos.
De dónde salen los datos
| Dato | Origen |
|---|---|
| Imagen de portada | course_summary_exporter::get_course_image(), con reserva a get_generated_image_for_id() si el curso no tiene imagen |
| Nombre del curso | format_string() sobre el nombre completo, en contexto de curso |
| Docentes | core_course_category::preload_course_contacts() + core_course_list_element::get_course_contacts() |
| Progreso | course_stats::get_user_progress() del plugin de datos |
Comportamiento sin seguimiento de finalización
Si el curso no tiene seguimiento de finalización, get_user_progress() devuelve null y la fila
oculta la barra de progreso y todo el módulo "Tu avance general", conservando la card del
curso. No muestra ceros ni un anillo vacío: una métrica que no se puede calcular no se dibuja.
La llamada al plugin de datos está protegida con class_exists(), de modo que el tema sigue
funcionando aunque local_pccntr8203403_dashboard no esté instalado.
Archivos
| Archivo | Rol |
|---|---|
templates/course_hero_row.mustache | Plantilla propia del tema |
classes/output/core_renderer.php | full_header() (inyección) y course_hero_row_context() (datos) |
scss/preset/cdigital.scss | Estilos de la card y del anillo de progreso |
Verificación
Como estudiante matriculado, abrir un curso con seguimiento de finalización activo: deben verse la portada, el nombre, el docente y un porcentaje coherente con el avance real. El botón debe abrir la modal "Ver mi avance". Repetir en un curso sin seguimiento de finalización: la card se muestra y el módulo de avance desaparece.