Actividad 29: Construyendo Componentes con Objetos (2)

Actividad 29: Construyendo Componentes con Objetos (2)

  • Bootstrap
  • CSS
  • HTML
  • JavaScript
  • WordPress

Objetivo
Practica con los objetos, extrayendo datos para usarlos en elementos del DOM.

Enunciado
Acaba de diseñar la página web del ejercicio 28.
Secciones a mostrar mediante objetos javascript:

<nav>Colocando un menú como el de la actividad 27</nav>
<header class=»hero-image»>Siguiendo el ejemplo How to create a Hero Image</header>
<div id=»contenedor-productos»>Todos los productos, Siguiendo el ejemplo How to create a Product Card</div> 

Instrucciones

  • Sigue los mismos pasos que en la actividad 28
  • Implementa el ejemplo Image Magnifier Glass en una imagen de un producto
  • ¿Se puede aplicar en todas? ¿Que solución te da la IA y que propone? Analiza las declaraciones del guión javascript

Parte 2
Desarrolar la misma interfície pero obteniendo los datos de un archivo json almacenado en el servidor remoto
Usaremos fetch para leer el JSON y crearemos una función reutilizable para pintar las tarjetas.  

// Variable global para guardar los productos que vengan del JSON
let listaProductos = [];

// PASO 1: Usamos Fetch para leer el archivo JSON local
fetch(‘productos.json’)
    .then(respuesta => respuesta.json())
    .then(datos => {
        listaProductos = datos; // Guardamos los datos
        pintarTarjetas(listaProductos); // Pintamos todos al cargar la página
    })
    .catch(error => console.error(«Error cargando los productos:», error));


// PASO 2: Función reutilizable para fabricar las tarjetas (Tu actividad original evolucionada)
function pintarTarjetas(productosAMostrar) {
    const contenedor = document.getElementById(‘contenedor-productos’);
   
    // Limpiamos el contenedor por si había tarjetas antes (importante para el filtro)
    contenedor.innerHTML = «»;

    // Recorremos el array que recibe la función


// A. Creamos el contenedor de la tarjeta
 // B. Creamos el título
// C. Creamos el precio (formateando el número)
// D. Creamos el botón aplicando el color dinámico del objeto
// E. Unimos los elementos (appendChild)
// F. Los metemos en el contenedor