Skip to main content
El bloque Cart items es la lista de artículos de línea del carrito, que renderiza cada producto que el comprador ha agregado con su imagen, título, variante, precio, control de cantidad y control de eliminación. Es un bloque obligatorio y es el contenedor que aloja los sub-bloques del carrito (la fila Product, Subscription upgrade y Custom code), proporcionando la estructura a la que se adjuntan los sub-bloques por línea.
Bloque Cart items mostrando artículos de línea con imagen del producto, título, variante, precio, control de cantidad y control de eliminación

La fila Product

Dentro de Cart items se encuentra el sub-bloque Product: la fila real del artículo de línea. Está bloqueada y se agrega automáticamente, por lo que cada bloque Cart items siempre tiene exactamente una fila Product que no puedes eliminar; reposicionas los otros sub-bloques alrededor de ella. Sus configuraciones controlan cómo se muestran los precios de cada línea: La fila en sí renderiza la imagen del producto (con enlace a la página del producto cuando está disponible), el título, la variante, el precio y cualquier precio compare-at tachado, un control de cantidad y un botón de eliminar. Las líneas de bundle muestran una lista desplegable de sus componentes.

Estilo de texto

La fila Product incluye una sección Text en su configuración de Design. Úsala para controlar la tipografía de cada elemento de texto en cada artículo de línea. Selecciona un elemento de texto en el selector para ajustar su configuración: Los elementos de texto que puedes estilizar están agrupados por categoría: Product
  • Product title — el nombre del producto en cada línea. También admite una familia de fuentes personalizada.
  • Variant — la etiqueta de la variante (por ejemplo, Size: Medium).
  • Subscription plan — la etiqueta de solo lectura del plan que se muestra en las líneas de suscripción.
Pricing
  • Price — el precio actual de la línea.
  • Compare-at price — el precio original tachado.
  • Savings — la etiqueta de ahorros (por ejemplo, Save $5.00). Solo Size y Line height — el bold y el color se configuran en el Rich Text Editor de arriba.
Bundle
  • Bundle toggle — el encabezado desplegable que expande la lista de componentes de un bundle.
  • Bundle item title — el título de cada componente dentro de un bundle.
  • Bundle item variant — la etiqueta de variante de cada componente del bundle.
Dejar cualquier campo en blanco mantiene el valor predeterminado del elemento.
Al hacer clic directamente sobre un elemento de texto en la vista previa del carrito, se resalta y se abren automáticamente sus controles en el panel.

Diseño de las etiquetas de descuento

La fila Product incluye una sección Discount tags en su configuración de Design. Úsala para dar estilo a las píldoras de etiqueta de descuento que aparecen en cada artículo de línea: Estas configuraciones se aplican solo a las etiquetas de descuento de los artículos de línea en el bloque Cart items. Las etiquetas de códigos de descuento en el bloque Summary se estilizan por separado.

Los sub-bloques y cómo se posicionan

Cart items es el único bloque que aloja sub-bloques. Los sub-bloques se renderizan una vez por línea, dentro de cada fila de producto, posicionados en relación con la fila Product fijada:
  • Los sub-bloques ordenados antes de la fila Product aparecen encima del contenido del producto en cada línea.
  • Los sub-bloques ordenados después de la fila Product aparecen debajo del contenido del producto en cada línea.
Así, un Subscription upgrade colocado después de la fila Product se muestra debajo de cada línea elegible, no una sola vez al final de toda la lista.

Comportamiento

  • Cuando el carrito no tiene artículos, el cajón cambia al estado vacío y este bloque no se muestra.
  • Se ejecuta un cambio del carrito a la vez. Mientras una actualización de cantidad o una eliminación está en curso, los controles de la fila se deshabilitan para mantener el carrito consistente, y luego se vuelven a habilitar una vez que el cambio se completa.
  • Reducir la cantidad de una línea por debajo de 1 la elimina. Una cantidad que la tienda rechaza (por ejemplo, más allá del inventario disponible) se vuelve a sincronizar con el último valor válido.
  • Los bundles cambian como una unidad. Ajustar la cantidad en la línea ancla de un bundle escala todo el bundle en una sola operación: si un componente se incluye a razón de 3 por ancla, llevar el ancla de 1 a 2 lleva ese componente a 6. Eliminar el ancla elimina todos los miembros del bundle a la vez.
  • Algunos bundles no pueden cambiar de cantidad. Si alguno de los componentes de un bundle se incluye a una tasa fraccionaria (digamos, 1.5 por ancla), el control de cantidad de ese bundle se bloquea: los botones +/− y el campo de cantidad quedan deshabilitados, y las cantidades escritas no se aceptan. El bundle aún puede eliminarse.
  • Las líneas de suscripción muestran su plan. Cuando una línea tiene un plan de venta y el sub-bloque Subscription upgrade está desactivado o no se ha agregado, la fila Product muestra una etiqueta de plan de solo lectura debajo de la variante; por ejemplo, Delivers every month (save 30%). Cuando ese sub-bloque está habilitado, presenta el plan en su propio selector, por lo que la etiqueta de solo lectura se suprime en lugar de duplicarse.

Ubicación y límites

  • Región: cuerpo.
  • Máximo: 1 por estado del carrito.
  • Estado: solo carrito con artículos.
  • Bloqueado y agregado de forma predeterminada. Cart items no puede eliminarse ni ocultarse, solo reposicionarse.

Plantilla personalizada

Admite una plantilla personalizada desde su pestaña Code, que reemplaza el marcado integrado de este bloque con tu JSX. Estas son las props que recibe. El contenedor Cart items no tiene plantilla personalizada. La fila Product dentro de él sí, y es la superficie más rica del carrito: tu plantilla se renderiza una vez por línea.

Contenido de la línea

price y compareAtPrice son cadenas formateadas; todo en line está en centavos. No hagas aritmética con price. Calcula a partir de line.finalLinePrice y similares, y luego pasa el resultado por formatMoney.

Cantidad y eliminación

Renderizar un bundle

En la línea ancla de un bundle, bundle.children contiene su contenido. Los componentes nunca aparecen como filas propias, así que si no los renderizas, el comprador no verá lo que hay en el bundle:
La key de un componente es null para un componente de bundle nativo de Shopify, así que recurre al índice como se muestra arriba.

Diseño

Dale estilo a este bloque con su sección Design en el panel de configuración. Estas son anulaciones por bloque que se superponen a tu diseño global y recurren a él cuando están en blanco. ¿Qué son las configuraciones de diseño? Obtén más información aquí: Configuraciones de diseño.