function renderizarProductos(productos) {
  // Eliminar cards antiguos.
  while (contenedorProductos.firstChild) contenedorProductos.removeChild(contenedorProductos.firstChild);

  // Crear cards nuevos.
  for (const producto of productos) {
    let cardProducto = PLANTILLA_PRODUCTO.cloneNode(true).content;

    // Propiedades de un producto.
    let descuento = producto.discount;
    let precioVenta = (producto.price + 0).toFixed(2);
    let precioAnterior = (precioVenta / ((100 - descuento)/100)).toFixed(2);

    // Imagen placeholder en caso de no tener imagen.
    let urlImagen = producto.url_image;
    if (!urlImagen || urlImagen === null) {
      urlImagen = "./imagen_no_disponible.png";
    }

    // Escribir propiedades del producto en el nuevo card.
    cardProducto.querySelector("[name='name']").innerHTML = producto.name;
    cardProducto.querySelector("[name='price']").innerHTML = "$ " + precioVenta;

    // Aplicar descuento solo si es distinto a 0.
    cardProducto.querySelector("[name='discount']").innerHTML = (descuento > 0) ? descuento + "% de descuento" : " ";
    cardProducto.querySelector("[name='prev_price']").innerHTML = (descuento > 0) ? "$ " + precioAnterior : " ";  

    cardProducto.querySelector("[name='url_image']").src = urlImagen;

    // Agregar card al contenedor.
    contenedorProductos.appendChild(cardProducto);
  }
}
/**
 * Renderiza un card por cada producto obtenido.
 * @param {array} productos - La lista de productos.
 */
Renderiza un card por cada producto obtenido.
@param {array} productos - La lista de productos.
Renderiza un card por cada producto obtenido . @param { array } productos - La lista de productos .
function renderizarProductos(productos) {
  while (contenedorProductos.firstChild) contenedorProductos.removeChild(contenedorProductos.firstChild);
  for (const producto of productos) {
    let cardProducto = PLANTILLA_PRODUCTO.cloneNode(true).content;
    let descuento = producto.discount;
    let precioVenta = (producto.price + 0).toFixed(2);
    let precioAnterior = (precioVenta / ((100 - descuento)/100)).toFixed(2);
    let urlImagen = producto.url_image;
    if (!urlImagen || urlImagen === null) {
      urlImagen = "./imagen_no_disponible.png";
    }
    cardProducto.querySelector("[name='name']").innerHTML = producto.name;
    cardProducto.querySelector("[name='price']").innerHTML = "$ " + precioVenta;
    cardProducto.querySelector("[name='discount']").innerHTML = (descuento > 0) ? descuento + "% de descuento" : " ";
    cardProducto.querySelector("[name='prev_price']").innerHTML = (descuento > 0) ? "$ " + precioAnterior : " ";  
    cardProducto.querySelector("[name='url_image']").src = urlImagen;
    contenedorProductos.appendChild(cardProducto);
  }
}
function renderizarProductos ( productos ) { while ( contenedorProductos . firstChild ) contenedorProductos . removeChild ( contenedorProductos . firstChild ) ; for ( const producto of productos ) { let cardProducto = PLANTILLA_PRODUCTO . cloneNode ( true ) . content ; let descuento = producto . discount ; let precioVenta = ( producto . price + 0 ) . toFixed ( 2 ) ; let precioAnterior = ( precioVenta / ( ( 100 - descuento ) / 100 ) ) . toFixed ( 2 ) ; let urlImagen = producto . url_image ; if ( ! urlImagen || urlImagen === null ) { urlImagen = "./imagen_no_disponible.png" ; } cardProducto . querySelector ( "[name='name']" ) . innerHTML = producto . name ; cardProducto . querySelector ( "[name='price']" ) . innerHTML = "$ " + precioVenta ; cardProducto . querySelector ( "[name='discount']" ) . innerHTML = ( descuento > 0 ) ? descuento + "% de descuento" : " " ; cardProducto . querySelector ( "[name='prev_price']" ) . innerHTML = ( descuento > 0 ) ? "$ " + precioAnterior : " " ; cardProducto . querySelector ( "[name='url_image']" ) . src = urlImagen ; contenedorProductos . appendChild ( cardProducto ) ; } }
Renderiza un card por cada producto obtenido.
Renderiza un card por cada producto obtenido .
// Eliminar cards antiguos. // Crear cards nuevos. // Propiedades de un producto. // Imagen placeholder en caso de no tener imagen. // Escribir propiedades del producto en el nuevo card. // Aplicar descuento solo si es distinto a 0. // Agregar card al contenedor.