El dashboard integra un lector de noticias que consume el feed MRSS público de El País para mostrar los titulares de última hora directamente en el panel de administración. La obtención del feed se realiza en el servidor mediante PHP, sin necesidad de peticiones adicionales desde el navegador, lo que simplifica la implementación y evita problemas de CORS.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/jpbarbatic/webapp/llms.txt
Use this file to discover all available pages before exploring further.
Obtención del feed
La carga del feed tiene lugar en el controladorpublic/dashboard/index.php, antes de renderizar cualquier vista:
| Elemento | Detalle |
|---|---|
| Función | simplexml_load_file() — carga y parsea un documento XML remoto, devolviendo un objeto SimpleXMLElement. |
| URL del feed | https://feeds.elpais.com/mrss-s/pages/ep/site/elpais.com/section/ultimas-noticias/portada |
| Tipo de feed | MRSS (Media RSS) — una extensión del estándar RSS 2.0 que incluye metadatos de contenido multimedia. |
Operador @ | Suprime advertencias de PHP si el servidor remoto no responde o el XML es inválido. |
$noticias contiene el árbol completo del feed. La variable queda disponible en la vista porque la plantilla base (html/plantilla.html.php) se incluye en el mismo ámbito donde se declaró.
Renderizado en la vista
La vistahtml/dashboard/dashboard.html.php itera sobre los ítems del feed e imprime el título y el contenido de cada noticia:
$noticias->channel->item— colección de nodos<item>dentro del canal principal del feed.$noticia->title— elemento estándar RSS que contiene el titular del artículo.$noticia->children('content', true)— accede a los elementos hijo registrados bajo el namespace con prefijocontent. El segundo argumentotrueindica que el primer argumento es un prefijo de namespace (no una URI), tal como aparece declarado en el feed (xmlns:content="..."). Esto permite leer elementos como<content:encoded>o similares que extienden el RSS estándar.
html/dashboard.html.php) usa exactamente la misma lógica de bucle, pero carece de widget del tiempo y de los assets CSS/JS asociados.
Si
simplexml_load_file no puede conectar con el servidor del feed o recibe un XML malformado, devuelve false. En ese caso, la vista intentará iterar sobre false->channel->item, lo que generará un error fatal. Para mayor robustez, conviene añadir una comprobación antes del foreach: